53template<
bool SupportFastSizeQuery = true>
57 typename std::conditional<SupportFastSizeQuery, List<node>,
ListPure<node>>::type;
113 return m_it[v].valid();
129 template<
bool OtherSupportsFastSizeQuery>
135 template<
bool OtherSupportsFastSizeQuery>
Declaration of doubly linked lists and iterators.
Declaration and implementation of NodeArray class.
Data type for general directed graphs (adjacency list representation).
Encapsulates a pointer to a list element.
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
const Graph & graphOf() const
Returns the associated graph.
void remove(node v)
Removes node v from this set.
const ListType & nodes() const
Returns a reference to the list of nodes contained in this set.
ListType m_nodes
The list of nodes contained in this set.
NodeSet(const Graph &G)
Creates an empty node set associated with graph G.
typename std::conditional< SupportFastSizeQuery, List< node >, ListPure< node > >::type ListType
bool isMember(node v) const
Returns true iff node v is contained in this set.
int size() const
Returns the number of nodes in this set.
NodeArray< ListIterator< node > > m_it
m_it[v] contains the list iterator pointing to v if v is contained in this set, or an invalid list it...
NodeSet & operator=(const NodeSet< OtherSupportsFastSizeQuery > &other)
Assignment operator.
void clear()
Removes all nodes from this set.
NodeSet(const NodeSet< OtherSupportsFastSizeQuery > &other)
Copy constructor.
void insert(node v)
Inserts node v into this set.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.