HPS::SearchResultsIterator Class Reference

#include <hps.h>

Inheritance diagram for HPS::SearchResultsIterator:
HPS::Object

Public Member Functions

Key GetItem () const
 
SearchTypeArray GetResultTypes () const
 
bool IsValid () const
 
void Next ()
 
HPS::Type ObjectType () const
 
bool operator!= (SearchResultsIterator const &in_search_results_iterator)
 
Key operator* () const
 
SearchResultsIteratoroperator++ ()
 
SearchResultsIterator operator++ (int in_val)
 
SearchResultsIteratoroperator= (SearchResultsIterator &&in_that)
 
SearchResultsIteratoroperator= (SearchResultsIterator const &in_search_results_iterator)
 
bool operator== (SearchResultsIterator const &in_search_results_iterator)
 
void Reset ()
 
 SearchResultsIterator ()
 
 SearchResultsIterator (SearchResultsIterator const &in_search_results_iterator)
 
 SearchResultsIterator (SearchResultsIterator &&in_that)
 
void Set (SearchResultsIterator const &in_search_results_iterator)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::SearchResultsIterator
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

An iterator used for traversing results from a search on an associated SearchResults object.

Constructor & Destructor Documentation

◆ SearchResultsIterator() [1/3]

HPS::SearchResultsIterator::SearchResultsIterator ( )

The default constructor creates a new SearchResultsIterator object that is not associated with any SearchResults object.

◆ SearchResultsIterator() [2/3]

HPS::SearchResultsIterator::SearchResultsIterator ( SearchResultsIterator const &  in_search_results_iterator)

The copy constructor initializes a new SearchResultsIterator object that is associated with the same SearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Parameters
in_search_results_iteratorThe source of the copy.

◆ SearchResultsIterator() [3/3]

HPS::SearchResultsIterator::SearchResultsIterator ( SearchResultsIterator &&  in_that)

The move constructor creates SearchResultsIterator by transferring the underlying impl of the rvalue reference to this Key thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to SearchResultsIterator to take the impl from.

Member Function Documentation

◆ GetItem()

Key HPS::SearchResultsIterator::GetItem ( ) const

Returns the item that this iterator is currently pointing at. Throws exception if iterator is not valid. This method is functionally equivalent to the overloaded operator*.

Returns
The current item.

◆ GetResultTypes()

SearchTypeArray HPS::SearchResultsIterator::GetResultTypes ( ) const

Retrieves the search criteria that were met for the current search item pointed to by this iterator.

Returns
An array of search types for the current item.

◆ IsValid()

bool HPS::SearchResultsIterator::IsValid ( ) const

Queries the validity of this iterator location. Invalid locations would include uninitialized iterators and iterators that had walked past the last element.

Returns
true if this iterator is pointing to a valid item, false otherwise.

◆ Next()

void HPS::SearchResultsIterator::Next ( )

Advances the iterator to the next search result item

◆ ObjectType()

HPS::Type HPS::SearchResultsIterator::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Object.

◆ operator!=()

bool HPS::SearchResultsIterator::operator!= ( SearchResultsIterator const &  in_search_results_iterator)

Comparison operator between iterators to compare inequality

Parameters
in_search_results_iteratorThe iterator to compare to

◆ operator*()

Key HPS::SearchResultsIterator::operator* ( ) const

Returns the item that this iterator is currently pointing at. Throws exception if iterator is not valid.

Returns
The current item.

◆ operator++() [1/2]

SearchResultsIterator& HPS::SearchResultsIterator::operator++ ( )

Advances the iterator to the next search result item

Returns
A reference to this object.

◆ operator++() [2/2]

SearchResultsIterator HPS::SearchResultsIterator::operator++ ( int  in_val)

Advances the iterator to the next search result item

Returns
A reference to this object.

◆ operator=() [1/2]

SearchResultsIterator& HPS::SearchResultsIterator::operator= ( SearchResultsIterator &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this SearchResultsIterator thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an SearchResultsIterator to take the impl from.
Returns
A reference to this SearchResultsIterator.

◆ operator=() [2/2]

SearchResultsIterator& HPS::SearchResultsIterator::operator= ( SearchResultsIterator const &  in_search_results_iterator)

Copies a SearchResultsIterator object, associating this object with the same SearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Parameters
in_search_results_iteratorThe source of the copy.
Returns
a reference to this object.

◆ operator==()

bool HPS::SearchResultsIterator::operator== ( SearchResultsIterator const &  in_search_results_iterator)

Comparison operator between iterators to compare equality

Parameters
in_search_results_iteratorThe iterator to compare to

◆ Reset()

void HPS::SearchResultsIterator::Reset ( )
virtual

Resets iterator to the beginning of the associated search results.

Reimplemented from HPS::Object.

◆ Set()

void HPS::SearchResultsIterator::Set ( SearchResultsIterator const &  in_search_results_iterator)

Copies a SearchResultsIterator object, associating this object with the same SearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Parameters
in_search_results_iteratorThe source of the copy.

The documentation for this class was generated from the following file: