openPMD-api
Classes | Public Member Functions | Friends | List of all members
openPMD::internal::ScalarIterator< T_BaseRecord_, T_BaseRecordData_, T_BaseIterator > Class Template Reference

Public Member Functions

template<typename Other , typename SFINAE = std::enable_if_t< !std::is_same_v<T_BaseRecord, typename Other::T_BaseRecord>>>
 ScalarIterator (Other const &other)
 Auto-convert normal to const iterator. More...
 
ScalarIteratoroperator++ ()
 
T_Value * operator-> ()
 
T_Value & operator* ()
 
bool operator== (ScalarIterator const &other) const
 
bool operator!= (ScalarIterator const &other) const
 

Friends

template<typename >
class openPMD::BaseRecord
 

Constructor & Destructor Documentation

◆ ScalarIterator()

template<typename T_BaseRecord_ , typename T_BaseRecordData_ , typename T_BaseIterator >
template<typename Other , typename SFINAE = std::enable_if_t< !std::is_same_v<T_BaseRecord, typename Other::T_BaseRecord>>>
openPMD::internal::ScalarIterator< T_BaseRecord_, T_BaseRecordData_, T_BaseIterator >::ScalarIterator ( Other const &  other)
inline

Auto-convert normal to const iterator.

This is necessary to have things like:

B.insert(B.find("x"), std::pair{"y", E["y"]})

^^^^^^^^^^^ returns a normal iterator but insert-with-hint requires a const

Template Parameters
OtherA ScalarIterator with other template parameters.
SFINAEImplementation detail.
Parameters
otherCopy from this non-const iterator.

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