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
()
-
Key