UMPIRE
Umpire: resource management and provision
umpire::util::MemoryMap< V >::Iterator_< Const > Class Template Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/umpire/checkouts/develop/src/umpire/util/MemoryMap.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = Value
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 
using Map = typename std::conditional< Const, const MemoryMap< Value >, MemoryMap< Value > >::type
 
using ValuePtr = typename std::conditional< Const, const Value *, Value * >::type
 
using Content = std::pair< Key, ValuePtr >
 
using Reference = typename std::conditional< Const, const Content &, Content & >::type
 
using Pointer = typename std::conditional< Const, const Content *, Content * >::type
 

Public Member Functions

 Iterator_ (Map *map, Key ptr)
 
 Iterator_ (Map *map, iterator_begin)
 
 Iterator_ (Map *map, iterator_end)
 
template<bool OtherConst>
 Iterator_ (const Iterator_< OtherConst > &other)
 
Reference operator* ()
 
Pointer operator-> ()
 
Iterator_operator++ ()
 
Iterator_ operator++ (int)
 
template<bool OtherConst>
bool operator== (const Iterator_< OtherConst > &other) const
 
template<bool OtherConst>
bool operator!= (const Iterator_< OtherConst > &other) const
 
template<bool OtherConst>
bool operator== (const MemoryMap< V >::Iterator_< OtherConst > &other) const
 
template<bool OtherConst>
bool operator!= (const MemoryMap< V >::Iterator_< OtherConst > &other) const
 

Member Typedef Documentation

◆ iterator_category

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::iterator_category = std::forward_iterator_tag

◆ value_type

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::value_type = Value

◆ difference_type

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::difference_type = std::ptrdiff_t

◆ pointer

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::pointer = value_type*

◆ reference

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::reference = value_type&

◆ Map

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::Map = typename std::conditional<Const, const MemoryMap<Value>, MemoryMap<Value> >::type

◆ ValuePtr

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::ValuePtr = typename std::conditional<Const, const Value*, Value*>::type

◆ Content

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::Content = std::pair<Key, ValuePtr>

◆ Reference

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::Reference = typename std::conditional<Const, const Content&, Content&>::type

◆ Pointer

template<typename V >
template<bool Const = false>
using umpire::util::MemoryMap< V >::Iterator_< Const >::Pointer = typename std::conditional<Const, const Content*, Content*>::type

Constructor & Destructor Documentation

◆ Iterator_() [1/4]

template<typename V >
template<bool Const>
umpire::util::MemoryMap< V >::Iterator_< Const >::Iterator_ ( Map map,
Key  ptr 
)

◆ Iterator_() [2/4]

template<typename V >
template<bool Const>
umpire::util::MemoryMap< V >::Iterator_< Const >::Iterator_ ( Map map,
iterator_begin   
)

◆ Iterator_() [3/4]

template<typename V >
template<bool Const>
umpire::util::MemoryMap< V >::Iterator_< Const >::Iterator_ ( Map map,
iterator_end   
)

◆ Iterator_() [4/4]

template<typename V >
template<bool Const>
template<bool OtherConst>
umpire::util::MemoryMap< V >::Iterator_< Const >::Iterator_ ( const Iterator_< OtherConst > &  other)

Member Function Documentation

◆ operator*()

template<typename V >
template<bool Const>
MemoryMap< V >::template Iterator_< Const >::Reference umpire::util::MemoryMap< V >::Iterator_< Const >::operator*

◆ operator->()

template<typename V >
template<bool Const>
MemoryMap< V >::template Iterator_< Const >::Pointer umpire::util::MemoryMap< V >::Iterator_< Const >::operator->

◆ operator++() [1/2]

template<typename V >
template<bool Const>
MemoryMap< V >::template Iterator_< Const > & umpire::util::MemoryMap< V >::Iterator_< Const >::operator++

◆ operator++() [2/2]

template<typename V >
template<bool Const>
MemoryMap< V >::template Iterator_< Const > umpire::util::MemoryMap< V >::Iterator_< Const >::operator++ ( int  )

◆ operator==() [1/2]

template<typename V >
template<bool Const = false>
template<bool OtherConst>
bool umpire::util::MemoryMap< V >::Iterator_< Const >::operator== ( const Iterator_< OtherConst > &  other) const

◆ operator!=() [1/2]

template<typename V >
template<bool Const = false>
template<bool OtherConst>
bool umpire::util::MemoryMap< V >::Iterator_< Const >::operator!= ( const Iterator_< OtherConst > &  other) const

◆ operator==() [2/2]

template<typename V >
template<bool Const = false>
template<bool OtherConst>
bool umpire::util::MemoryMap< V >::Iterator_< Const >::operator== ( const MemoryMap< V >::Iterator_< OtherConst > &  other) const

◆ operator!=() [2/2]

template<typename V >
template<bool Const = false>
template<bool OtherConst>
bool umpire::util::MemoryMap< V >::Iterator_< Const >::operator!= ( const MemoryMap< V >::Iterator_< OtherConst > &  other) const