SearchResultsIterator

class 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.
KeyPath GetPath() const

Returns any path that associated with this iterator. Throws exception if iterator is not valid.

Returns:The path associated with 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