25 #ifndef GUM_NODE_GRAPH_PART_H 26 #define GUM_NODE_GRAPH_PART_H 38 #ifndef DOXYGEN_SHOULD_SKIP_THIS 42 class NodeGraphPartTestSuite;
118 void _setPos(
NodeId id) noexcept;
121 void _validate() noexcept;
196 void whenNodeDeleted(
const void* src,
NodeId id);
288 bool holes_resize_policy =
true);
332 template <
typename T >
350 std::vector< NodeId > addNodes(
Size n);
357 virtual void addNodeWithId(
const NodeId id);
364 virtual void eraseNode(
const NodeId id);
367 bool existsNode(
const NodeId id)
const;
370 bool exists(
const NodeId id)
const;
373 bool emptyNodes()
const;
379 virtual void clearNodes();
382 virtual void clear();
385 Size sizeNodes()
const;
423 std::
string toString() const;
435 template < typename VAL >
437 Size size = 0) const;
450 template < typename VAL >
456 template < typename VAL >
457 List< VAL > listMapNodes(VAL (*f)(const NodeId&)) const;
467 friend class gum_tests::NodeGraphPartTestSuite;
470 void __updateEndIteratorSafe();
477 void __eraseHole(NodeId
id);
481 void __addHole(NodeId
id);
489 bool __inHoles(NodeId
id) const;
492 Size __sizeHoles() const;
505 bool __holes_resize_policy;
508 NodeGraphPartIteratorSafe __endIteratorSafe;
519 #ifndef GUM_NO_INLINE 521 #endif // GUM_NOINLINE 525 #endif // GUM_NODE_GRAPH_PART_H std::forward_iterator_tag iterator_category
types for STL compliance
Inline implementation of the base node set class for graphs.
value_type & reference
types for STL compliance
NodeGraphPartIterator NodeConstIterator
NodeId value_type
types for STL compliance
NodeGraphPartIteratorSafe NodeIteratorSafe
Generic doubly linked lists.
gum is the global namespace for all aGrUM entities
The class for generic Hash Tables.
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)
Implementation of the NodeGraphPart.
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
some utils for topology : NodeId, Edge, Arc and consorts ...