40namespace datastructure {
42template<
typename T,
typename Graph>
45 using Node =
typename Graph::Node;
46 using reference =
typename std::vector<T>::reference;
68 if ((std::size_t)
g->max_node_index() >= std::vector<T>::size()) {
75 return std::vector<T>::operator[](v->index());
79 OGDF_ASSERT((std::size_t)v->index() < this->size());
80 return std::vector<T>::operator[](v->index());
84 std::vector<T>::operator=(x);
90 std::vector<T>::operator=(std::move(x));
96template<
typename T,
typename Graph>
99 using Edge =
typename Graph::Edge;
122 if (
g && (std::size_t)
g->max_edge_index() >= std::vector<T>::size()) {
129 return std::vector<T>::operator[](e->index());
133 OGDF_ASSERT((std::size_t)e->index() < this->size());
134 return std::vector<T>::operator[](e->index());
138 std::vector<T>::operator=(x);
144 std::vector<T>::operator=(std::move(x));
Data type for general directed graphs (adjacency list representation).
EdgeVector(const EdgeVector &x)
const_reference operator[](const Edge &e) const
typename std::vector< T >::reference reference
typename Graph::Edge Edge
reference operator[](const Edge &e)
EdgeVector(const EdgeVector &&x)
EdgeVector< T, Graph > & operator=(EdgeVector< T, Graph > &&x)
EdgeVector(const Graph &_g, T v)
typename std::vector< T >::const_reference const_reference
EdgeVector(const Graph &_g, T &v)
EdgeVector(const Graph &_g)
EdgeVector< T, Graph > & operator=(const EdgeVector< T, Graph > &x)
NodeVector< T, Graph > & operator=(const NodeVector< T, Graph > &x)
reference operator[](const Node &v)
typename Graph::Node Node
const_reference operator[](const Node &v) const
NodeVector(const NodeVector< T, Graph > &x)
typename std::vector< T >::const_reference const_reference
NodeVector(const Graph &_g, T &v)
typename std::vector< T >::reference reference
NodeVector(const Graph &_g)
NodeVector< T, Graph > & operator=(NodeVector< T, Graph > &&x)
NodeVector(const Graph &_g, T v)
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
The namespace for all OGDF objects.