AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl Class Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/core/FlatMapView.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = typename MapType::value_type
 
using difference_type = IndexType
 
using DataType = value_type
 
using pointer = DataType *
 
using reference = DataType &
 

Public Member Functions

 IteratorImpl ()=default
 
AXOM_HOST_DEVICE IteratorImpl (const MapType &map, IndexType internalIdx)
 
AXOM_HOST_DEVICE IteratorImploperator++ ()
 
AXOM_HOST_DEVICE IteratorImpl operator++ (int)
 
AXOM_HOST_DEVICE reference operator* () const
 
AXOM_HOST_DEVICE pointer operator-> () const
 

Friends

class FlatMapView< KeyType, ValueType, IsConst, Hash >
 
AXOM_HOST_DEVICE friend bool operator== (const IteratorImpl &lhs, const IteratorImpl &rhs)
 
AXOM_HOST_DEVICE friend bool operator!= (const IteratorImpl &lhs, const IteratorImpl &rhs)
 

Member Typedef Documentation

◆ iterator_category

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::iterator_category = std::forward_iterator_tag

◆ value_type

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::value_type = typename MapType::value_type

◆ difference_type

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::difference_type = IndexType

◆ DataType

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::DataType = value_type

◆ pointer

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::pointer = DataType*

◆ reference

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
using axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::reference = DataType&

Constructor & Destructor Documentation

◆ IteratorImpl() [1/2]

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::IteratorImpl ( )
default

◆ IteratorImpl() [2/2]

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::IteratorImpl ( const MapType map,
IndexType  internalIdx 
)
inline

Member Function Documentation

◆ operator++() [1/2]

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE IteratorImpl& axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::operator++ ( )
inline

◆ operator++() [2/2]

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE IteratorImpl axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::operator++ ( int  )
inline

◆ operator*()

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE reference axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::operator* ( ) const
inline

◆ operator->()

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE pointer axom::FlatMapView< KeyType, ValueType, IsConst, Hash >::IteratorImpl::operator-> ( ) const
inline

Friends And Related Function Documentation

◆ FlatMapView< KeyType, ValueType, IsConst, Hash >

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
friend class FlatMapView< KeyType, ValueType, IsConst, Hash >
friend

◆ operator==

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE friend bool operator== ( const IteratorImpl lhs,
const IteratorImpl rhs 
)
friend

◆ operator!=

template<typename KeyType , typename ValueType , bool IsConst, typename Hash = detail::flat_map::HashMixer64<KeyType, DeviceHash>>
AXOM_HOST_DEVICE friend bool operator!= ( const IteratorImpl lhs,
const IteratorImpl rhs 
)
friend

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