Aeon Engine c550894
AeonGames Open Source Game Engine
Loading...
Searching...
No Matches
AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator Class Reference

Const bidirectional iterator over topologically sorted entries. More...

#include <aeongames/DependencyMap.hpp>

Collaboration diagram for AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator:
Collaboration graph

Public Types

using difference_type = typename std::vector<Key, VectorAllocator>::const_iterator::difference_type
 Iterator difference type.
using value_type = typename std::vector<Key, VectorAllocator>::const_iterator::value_type
 Iterator value type.
using reference = const T &
 Const reference to the mapped value type.
using pointer = const T *
 Const pointer to the mapped value type.
using iterator_category = std::bidirectional_iterator_tag
 Bidirectional iterator category.

Public Member Functions

 const_iterator (const const_iterator &)=default
 Copy constructor.
const_iterator & operator= (const const_iterator &)=default
 Copy assignment operator.
bool operator== (const const_iterator &i) const
 Equality comparison operator.
bool operator!= (const const_iterator &i) const
 Inequality comparison operator.
const_iterator & operator++ ()
 Pre-increment operator.
const_iterator & operator-- ()
 Pre-decrement operator.
reference operator* () const
 Dereference operator.
pointer operator-> () const
 Member access operator.
const Key & GetKey () const
 Get the key of the element this iterator points to.
const std::vector< Key, VectorAllocator > & GetDependencies () const
 Get the dependency list of the element this iterator points to.

Friends

class DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >

Detailed Description

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
class AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator

Const bidirectional iterator over topologically sorted entries.

Definition at line 142 of file DependencyMap.hpp.

Member Typedef Documentation

◆ difference_type

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
using AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::difference_type = typename std::vector<Key, VectorAllocator>::const_iterator::difference_type

Iterator difference type.

Definition at line 165 of file DependencyMap.hpp.

◆ iterator_category

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
using AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::iterator_category = std::bidirectional_iterator_tag

Bidirectional iterator category.

Definition at line 169 of file DependencyMap.hpp.

◆ pointer

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
using AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::pointer = const T *

Const pointer to the mapped value type.

Definition at line 168 of file DependencyMap.hpp.

◆ reference

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
using AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::reference = const T &

Const reference to the mapped value type.

Definition at line 167 of file DependencyMap.hpp.

◆ value_type

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
using AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::value_type = typename std::vector<Key, VectorAllocator>::const_iterator::value_type

Iterator value type.

Definition at line 166 of file DependencyMap.hpp.

Member Function Documentation

◆ GetDependencies()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
const std::vector< Key, VectorAllocator > & AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::GetDependencies ( ) const
inline

Get the dependency list of the element this iterator points to.

Returns
A const reference to the vector of dependency keys.

Definition at line 216 of file DependencyMap.hpp.

◆ GetKey()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
const Key & AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::GetKey ( ) const
inline

Get the key of the element this iterator points to.

Returns
A const reference to the key.

Definition at line 210 of file DependencyMap.hpp.

◆ operator!=()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
bool AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator!= ( const const_iterator & i) const
inline

Inequality comparison operator.

Definition at line 182 of file DependencyMap.hpp.

◆ operator*()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
reference AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator* ( ) const
inline

Dereference operator.

Definition at line 199 of file DependencyMap.hpp.

◆ operator++()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
const_iterator & AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator++ ( )
inline

Pre-increment operator.

Definition at line 187 of file DependencyMap.hpp.

◆ operator--()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
const_iterator & AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator-- ( )
inline

Pre-decrement operator.

Definition at line 193 of file DependencyMap.hpp.

◆ operator->()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
pointer AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator-> ( ) const
inline

Member access operator.

Definition at line 204 of file DependencyMap.hpp.

◆ operator==()

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
bool AeonGames::DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >::const_iterator::operator== ( const const_iterator & i) const
inline

Equality comparison operator.

Definition at line 177 of file DependencyMap.hpp.

◆ DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >

template<class Key, class T = Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class MapAllocator = std::allocator< std::pair<const Key, typename std::tuple < Key, size_t, std::vector<Key, std::allocator<Key >>, T >>>, class VectorAllocator = std::allocator<Key>>
friend class DependencyMap< Key, T, Hash, KeyEqual, MapAllocator, VectorAllocator >
friend

Definition at line 151 of file DependencyMap.hpp.


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