44template<
class GraphObjectPtr,
bool isReverse,
bool isConst>
47template<
class GraphObjectPtr>
49template<
class GraphObjectPtr>
52template<
class GraphObjectPtr,
bool isReverse,
bool isConst>
61 using value_type =
typename std::conditional<isConst, const GraphObjectPtr, GraphObjectPtr>::type;
70 template<
bool isArgReverse>
90 GraphObjectPtr ptr =
m_ptr;
105 GraphObjectPtr ptr =
m_ptr;
111template<
class ArrayType,
bool isConst>
112class GraphArrayIteratorBase;
114template<
class ArrayType>
116template<
class ArrayType>
119template<
class ArrayType,
bool isConst>
127 using value_type =
typename std::conditional<isConst,
const typename ArrayType::value_type,
128 typename ArrayType::value_type>::type;
139 template<bool isArgConst, typename std::enable_if<isConst || !isArgConst, int>::type = 0>
Basic declarations, included by all source files.
GraphArrayIteratorBase(const GraphArrayIteratorBase< ArrayType, isConst > &iter)
Copy constructor.
GraphArrayIteratorBase< ArrayType, isConst > & operator=(const GraphArrayIteratorBase< ArrayType, isConst > &iter)
Copy assignment operator.
key_type key() const
Index in m_array.
array_pointer_type m_array
The array.
key_type m_key
Index in m_array.
GraphArrayIteratorBase< ArrayType, isConst > & operator--()
Decrement operator (prefix).
GraphArrayIteratorBase(const GraphArrayIteratorBase< ArrayType, isArgConst > &iter)
Constructor.
value_type & value() const
Value of m_array at index m_key.
bool operator!=(const GraphArrayIteratorBase< ArrayType, isConst > &iter) const
Inequality operator.
typename ArrayType::key_type key_type
Index type of the associated array.
GraphArrayIteratorBase< ArrayType, isConst > operator--(int)
Decrement operator (postfix).
typename std::conditional< isConst, const ArrayType *, ArrayType * >::type array_pointer_type
Type of the array.
GraphArrayIteratorBase< ArrayType, isConst > operator++(int)
Increment operator (postfix).
value_type & operator*() const
Value of m_array at index m_key.
typename std::conditional< isConst, const typename ArrayType::value_type, typename ArrayType::value_type >::type value_type
Value type of the associated array.
GraphArrayIteratorBase< ArrayType, isConst > & operator++()
Increment operator (prefix).
GraphArrayIteratorBase(key_type key, array_pointer_type a)
Constructor.
bool operator==(const GraphArrayIteratorBase< ArrayType, isConst > &iter) const
Equality operator.
GraphArrayIteratorBase()
Constructor.
T operator++(int)
Increment operator (postfix).
const GraphObjectPtr & operator*() const
GraphIteratorBase(GraphObjectPtr ptr)
bool operator!=(const T &other) const
GraphIteratorBase< GraphObjectPtr, isReverse, isConst > T
std::bidirectional_iterator_tag iterator_category
typename std::conditional< isConst, const GraphObjectPtr, GraphObjectPtr >::type value_type
GraphIteratorBase(GraphIteratorBase< GraphObjectPtr, isArgReverse, isConst > &it)
T & operator--()
Decrement operator (prefix).
T & operator++()
Increment operator (prefix).
bool operator==(const T &other) const
std::ptrdiff_t difference_type
SimpleRange(const It &begin, const It &end)
SimpleRange(It &&begin, It &&end)
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
The namespace for all OGDF objects.