SearchResultsIterator

class HPS::SearchResultsIterator : public HPS::Object

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

Public Functions

Key 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.

SearchTypeArray 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.

bool 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.

void Next()

Advances the iterator to the next search result item

inline virtual HPS::Type ObjectType() const

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.

bool operator!=(SearchResultsIterator const &in_search_results_iterator)

Comparison operator between iterators to compare inequality

Parameters

in_search_results_iterator – The iterator to compare to

Key operator*() const

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

Returns

The current item.

SearchResultsIterator &operator++()

Advances the iterator to the next search result item

Returns

A reference to this object.

SearchResultsIterator operator++(int in_val)

Advances the iterator to the next search result item

Returns

A reference to this object.

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_that – An rvalue reference to an SearchResultsIterator to take the impl from.

Returns

A reference to this SearchResultsIterator.

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_iterator – The source of the copy.

Returns

a reference to this object.

bool operator==(SearchResultsIterator const &in_search_results_iterator)

Comparison operator between iterators to compare equality

Parameters

in_search_results_iterator – The iterator to compare to

virtual void Reset()

Resets iterator to the beginning of the associated search results.

SearchResultsIterator()

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

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_that – An rvalue reference to SearchResultsIterator to take the impl from.

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_iterator – The source of the copy.

void 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_iterator – The source of the copy.

~SearchResultsIterator()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::SearchResultsIterator