12 #ifndef __UN_Iterator_h__
13 #define __UN_Iterator_h__
30 template <
typename HANDLE,
typename GRAPH_DATA,
typename DATA_ID_ITERATOR>
42 const DATA_ID_ITERATOR &data_id_iterator )
43 : myGraphData( graph_data )
44 , myDataIDIterator( data_id_iterator )
49 {
return myDataIDIterator == other.myDataIDIterator; }
51 {
return myDataIDIterator != other.myDataIDIterator; }
70 return HANDLE( myGraphData, *myDataIDIterator );
75 GRAPH_DATA * myGraphData;
78 DATA_ID_ITERATOR myDataIDIterator;
88 using value_type = std::pair<const UT_StringHolder&,const UT_StringHolder&>;
98 , myCurrent( current )
109 return myCurrent == b.myCurrent;
115 return myCurrent != b.myCurrent;
128 return myCurrent < myNames.size()
137 return myNames[ myCurrent ];
143 return myTypes[ myCurrent ];
UN_NameAndTypeIterator(const UT_StringArray &names, const UT_StringArray &types, exint current)
UN_NameAndTypeIterator & operator++()
Pre-increment operator.
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool operator==(const UN_HandleIterator &other) const
Comparison operators.
UN_HandleIterator(GRAPH_DATA *graph_data, const DATA_ID_ITERATOR &data_id_iterator)
Constructor for the start iterator of the given data ID array.
std::input_iterator_tag iterator_category
static const UT_StringHolder theEmptyString
std::ptrdiff_t difference_type
const UT_StringHolder & type() const
Returns the type string.
GLuint const GLchar * name
std::pair< const UT_StringHolder &, const UT_StringHolder & > value_type
GLboolean GLboolean GLboolean b
bool operator!=(const UN_HandleIterator &other) const
Comparison operators.
std::input_iterator_tag iterator_category
HANDLE operator*() const
Dereferencing operator, returns the handle to the current data object.
value_type operator*() const
Returns the current pair of strings (usually name and type).
GLsizei GLenum GLenum * types
bool operator!=(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
const UT_StringHolder & name() const
Returns the name string.
HANDLE handle() const
Dereferencing operator, returns the handle to the current data object.
UN_HandleIterator & operator++()
Increment operator.
Iterator for traversing two string arrays at the same time.