CBMC
dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue > Class Template Reference
+ Collaboration diagram for dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >:

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = UnderlyingValue
 
using difference_type = std::ptrdiff_t
 
using pointer = UnderlyingValue *
 
using reference = UnderlyingValue &
 

Public Member Functions

 iterator_templatet (UnderlyingIterator it, const map_typet &underlying_map)
 
 operator iterator_templatet< typename backing_storet::const_iterator, const typename backing_storet::value_type > () const
 Convert iterator to const_iterator (redundant when defined in the const_iterator itself) More...
 
self_typet operator++ ()
 
self_typet operator++ (int junk)
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (const self_typet &rhs) const
 
bool operator!= (const self_typet &rhs) const
 

Private Types

typedef iterator_templatet< UnderlyingIterator, UnderlyingValue > self_typet
 
typedef dense_integer_mapt< K, V, KeyToDenseInteger > map_typet
 

Private Member Functions

UnderlyingIterator advance (UnderlyingIterator it)
 
UnderlyingIterator skip_unset_values (UnderlyingIterator it)
 

Private Attributes

UnderlyingIterator underlying_iterator
 
const map_typetunderlying_map
 

Detailed Description

template<class K, class V, class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator, class UnderlyingValue>
class dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >

Definition at line 118 of file dense_integer_map.h.

Member Typedef Documentation

◆ difference_type

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
using dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::difference_type = std::ptrdiff_t

Definition at line 130 of file dense_integer_map.h.

◆ iterator_category

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
using dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::iterator_category = std::forward_iterator_tag

Definition at line 128 of file dense_integer_map.h.

◆ map_typet

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
typedef dense_integer_mapt<K, V, KeyToDenseInteger> dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::map_typet
private

Definition at line 123 of file dense_integer_map.h.

◆ pointer

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
using dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::pointer = UnderlyingValue *

Definition at line 131 of file dense_integer_map.h.

◆ reference

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
using dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::reference = UnderlyingValue &

Definition at line 132 of file dense_integer_map.h.

◆ self_typet

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
typedef iterator_templatet<UnderlyingIterator, UnderlyingValue> dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::self_typet
private

Definition at line 121 of file dense_integer_map.h.

◆ value_type

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
using dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::value_type = UnderlyingValue

Definition at line 129 of file dense_integer_map.h.

Constructor & Destructor Documentation

◆ iterator_templatet()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::iterator_templatet ( UnderlyingIterator  it,
const map_typet underlying_map 
)
inline

Definition at line 134 of file dense_integer_map.h.

Member Function Documentation

◆ advance()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
UnderlyingIterator dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::advance ( UnderlyingIterator  it)
inlineprivate

Definition at line 179 of file dense_integer_map.h.

◆ operator iterator_templatet< typename backing_storet::const_iterator, const typename backing_storet::value_type >()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator iterator_templatet< typename backing_storet::const_iterator, const typename backing_storet::value_type > ( ) const
inline

Convert iterator to const_iterator (redundant when defined in the const_iterator itself)

Definition at line 142 of file dense_integer_map.h.

◆ operator!=()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
bool dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator!= ( const self_typet rhs) const
inline

Definition at line 172 of file dense_integer_map.h.

◆ operator*()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
reference dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator* ( ) const
inline

Definition at line 160 of file dense_integer_map.h.

◆ operator++() [1/2]

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
self_typet dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator++ ( )
inline

Definition at line 149 of file dense_integer_map.h.

◆ operator++() [2/2]

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
self_typet dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator++ ( int  junk)
inline

Definition at line 155 of file dense_integer_map.h.

◆ operator->()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
pointer dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator-> ( ) const
inline

Definition at line 164 of file dense_integer_map.h.

◆ operator==()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
bool dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::operator== ( const self_typet rhs) const
inline

Definition at line 168 of file dense_integer_map.h.

◆ skip_unset_values()

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
UnderlyingIterator dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::skip_unset_values ( UnderlyingIterator  it)
inlineprivate

Definition at line 185 of file dense_integer_map.h.

Member Data Documentation

◆ underlying_iterator

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
UnderlyingIterator dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::underlying_iterator
private

Definition at line 200 of file dense_integer_map.h.

◆ underlying_map

template<class K , class V , class KeyToDenseInteger = identity_functort>
template<class UnderlyingIterator , class UnderlyingValue >
const map_typet& dense_integer_mapt< K, V, KeyToDenseInteger >::iterator_templatet< UnderlyingIterator, UnderlyingValue >::underlying_map
private

Definition at line 201 of file dense_integer_map.h.


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