59 _arcs_(arcs_size, arcs_resize_policy) {
76 for (
const auto& [key, nodeset]: pars) {
85 for (
const auto& [key, nodeset]:
children) {
92 for (
const auto& arc:
_arcs_) {
120 for (
const auto& arc: tmp)
137 for (
const auto& [key, nodeset]: s.
_parents_) {
145 for (
const auto& [key, nodeset]: s.
_children_) {
151 for (
const auto& arc:
_arcs_) {
165 _arcs_ = std::move(s._arcs_);
169 for (
const auto& arc:
_arcs_) {
183 for (
const auto& arc:
_arcs_) {
Inline implementation of classes for directed edge sets.
Classes for directed edge sets.
virtual ~ArcGraphPart()
destructor
Set< Arc > _arcs_
the set of all the arcs contained within the ArcGraphPart
ArcGraphPart & operator=(const ArcGraphPart &s)
copy operator
void clearArcs()
removes all the arcs from the ArcGraphPart
NodeProperty< NodeSet * > _children_
for each arc, the set of its children
Signaler< NodeId, NodeId > onArcDeleted
Signaler< NodeId, NodeId > onArcAdded
NodeProperty< NodeSet * > _parents_
for each arc, the sets of its parents
NodeSet children(const NodeSet &ids) const
returns the set of nodes which consists in the node and its parents returns the set of children of a ...
ArcGraphPart(Size arcs_size=HashTableConst::default_size, bool arcs_resize_policy=true)
default constructor
std::string toString() const
to friendly display the content of the ArcGraphPart
Size capacity() const noexcept
Returns the number of slots in the 'nodes' vector of the hashtable.
some utils for topology : NodeId, Edge, Arc and consorts ...
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Set< Arc > ArcSet
Some typdefs and define for shortcuts ...
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
Set< NodeId > NodeSet
Some typdefs and define for shortcuts ...
gum is the global namespace for all aGrUM entities
std::ostream & operator<<(std::ostream &stream, const AVLTree< Val, Cmp > &tree)
display the content of a tree
#define GUM_EMIT2(signal, arg1, arg2)