HPS::OptimizeMappingResultsIterator Class Reference

#include <hps.h>

Inheritance diagram for HPS::OptimizeMappingResultsIterator:
HPS::Object

Public Member Functions

Key GetItem () const
 
bool GetMergedShellInfo (ShellKey &out_shell_key, size_t &out_vertex_offset, size_t &out_face_offset, size_t &out_edge_offset) const
 
bool IsValid () const
 
void Next ()
 
HPS::Type ObjectType () const
 
bool operator!= (OptimizeMappingResultsIterator const &in_mapping_results_iterator)
 
Key operator* () const
 
OptimizeMappingResultsIteratoroperator++ ()
 
OptimizeMappingResultsIterator operator++ (int in_val)
 
OptimizeMappingResultsIteratoroperator= (OptimizeMappingResultsIterator &&in_that)
 
OptimizeMappingResultsIteratoroperator= (OptimizeMappingResultsIterator const &in_mapping_results_iterator)
 
bool operator== (OptimizeMappingResultsIterator const &in_mapping_results_iterator)
 
 OptimizeMappingResultsIterator ()
 
 OptimizeMappingResultsIterator (OptimizeMappingResultsIterator const &in_mapping_results_iterator)
 
 OptimizeMappingResultsIterator (OptimizeMappingResultsIterator &&in_that)
 
void Reset ()
 
void Set (OptimizeMappingResultsIterator const &in_mapping_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::OptimizeMappingResultsIterator
 
- 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 optimize on an associated OptimizeMappingResults object.

Constructor & Destructor Documentation

◆ OptimizeMappingResultsIterator() [1/3]

HPS::OptimizeMappingResultsIterator::OptimizeMappingResultsIterator ( )

The default constructor creates a new OptimizeMappingResultsIterator object that is not associated with any OptimizeMappingResults object.

◆ OptimizeMappingResultsIterator() [2/3]

HPS::OptimizeMappingResultsIterator::OptimizeMappingResultsIterator ( OptimizeMappingResultsIterator const &  in_mapping_results_iterator)

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

Parameters
in_mapping_results_iteratorThe source of the copy.

◆ OptimizeMappingResultsIterator() [3/3]

HPS::OptimizeMappingResultsIterator::OptimizeMappingResultsIterator ( OptimizeMappingResultsIterator &&  in_that)

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

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

Member Function Documentation

◆ GetItem()

Key HPS::OptimizeMappingResultsIterator::GetItem ( ) const

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

Returns
The current item.

◆ GetMergedShellInfo()

bool HPS::OptimizeMappingResultsIterator::GetMergedShellInfo ( ShellKey out_shell_key,
size_t &  out_vertex_offset,
size_t &  out_face_offset,
size_t &  out_edge_offset 
) const

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

Parameters
out_shell_keyThe post merge shell that this item is in.
out_vertex_offsetThe offset that the vertices from the item start in the post merge shell.
out_face_offsetThe offset that the faces from the item start in the post merge shell.
out_edge_offsetThe offset that the edges from the item start in the post merge shell.
Returns
True if the out params are valid

◆ IsValid()

bool HPS::OptimizeMappingResultsIterator::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::OptimizeMappingResultsIterator::Next ( )

Advances the iterator to the next search result item

◆ ObjectType()

HPS::Type HPS::OptimizeMappingResultsIterator::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::OptimizeMappingResultsIterator::operator!= ( OptimizeMappingResultsIterator const &  in_mapping_results_iterator)

Comparison operator between iterators to compare inequality

Parameters
in_mapping_results_iteratorThe iterator to compare to

◆ operator*()

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

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

Returns
The current item.

◆ operator++() [1/2]

OptimizeMappingResultsIterator& HPS::OptimizeMappingResultsIterator::operator++ ( )

Advances the iterator to the next search result item

Returns
A reference to this object.

◆ operator++() [2/2]

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

Advances the iterator to the next search result item

Returns
A reference to this object.

◆ operator=() [1/2]

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

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

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

◆ operator=() [2/2]

OptimizeMappingResultsIterator& HPS::OptimizeMappingResultsIterator::operator= ( OptimizeMappingResultsIterator const &  in_mapping_results_iterator)

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

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

◆ operator==()

bool HPS::OptimizeMappingResultsIterator::operator== ( OptimizeMappingResultsIterator const &  in_mapping_results_iterator)

Comparison operator between iterators to compare equality

Parameters
in_mapping_results_iteratorThe iterator to compare to

◆ Reset()

void HPS::OptimizeMappingResultsIterator::Reset ( )
virtual

Resets iterator to the beginning of the associated search results.

Reimplemented from HPS::Object.

◆ Set()

void HPS::OptimizeMappingResultsIterator::Set ( OptimizeMappingResultsIterator const &  in_mapping_results_iterator)

Copies a OptimizeMappingResultsIterator object, associating this object with the same OptimizeMappingResults 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_mapping_results_iteratorThe source of the copy.

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