28 #ifndef GUM_NODE_GRAPH_PART_H 29 #define GUM_NODE_GRAPH_PART_H 41 #ifndef DOXYGEN_SHOULD_SKIP_THIS 45 class NodeGraphPartTestSuite;
121 void _setPos(
NodeId id) noexcept;
124 void _validate() noexcept;
199 void whenNodeDeleted(
const void* src,
NodeId id);
291 bool holes_resize_policy =
true);
335 template <
typename T >
353 std::vector< NodeId > addNodes(
Size n);
360 virtual void addNodeWithId(
const NodeId id);
367 virtual void eraseNode(
const NodeId id);
370 bool existsNode(
const NodeId id)
const;
373 bool exists(
const NodeId id)
const;
376 bool emptyNodes()
const;
382 virtual void clearNodes();
385 virtual void clear();
388 Size sizeNodes()
const;
426 std::
string toString() const;
438 template < typename VAL >
440 Size size = 0) const;
453 template < typename VAL >
459 template < typename VAL >
460 List< VAL > listMapNodes(VAL (*f)(const NodeId&)) const;
470 friend class gum_tests::NodeGraphPartTestSuite;
473 void __updateEndIteratorSafe();
480 void __eraseHole(NodeId
id);
484 void __addHole(NodeId
id);
492 bool __inHoles(NodeId
id) const;
495 Size __sizeHoles() const;
508 bool __holes_resize_policy;
511 NodeGraphPartIteratorSafe __endIteratorSafe;
522 #ifndef GUM_NO_INLINE 524 #endif // GUM_NOINLINE 528 #endif // GUM_NODE_GRAPH_PART_H std::forward_iterator_tag iterator_category
types for STL compliance
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
value_type & reference
types for STL compliance
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
NodeGraphPartIterator NodeConstIterator
NodeId value_type
types for STL compliance
NodeGraphPartIteratorSafe NodeIteratorSafe
Generic doubly linked lists.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
The class for generic Hash Tables.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
NodeGraphPartIteratorSafe NodeConstIteratorSafe
Unsafe iterator on the node set of a graph.
Signaler1< NodeId > onNodeAdded
const value_type * const_pointer
types for STL compliance
bool operator==(const TiXmlString &a, const TiXmlString &b)
std::ptrdiff_t difference_type
types for STL compliance
Class for node sets in graph.
const value_type & const_reference
types for STL compliance
NodeGraphPartIterator NodeIterator
NodeId nextNodeId()
Returns the next value of an unique counter for PRM's node id.
bool operator!=(const TiXmlString &a, const TiXmlString &b)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Signaler1< NodeId > onNodeDeleted
Safe iterator on the node set of a graph.
Size NodeId
Type for node ids.
Every class who would catch signal from signaler should derive from Listener.
value_type * pointer
types for STL compliance
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.