80#ifndef GUM_LEARNING_GRAPH_CHANGES_GENERATOR_4_DIGRAPH_H
81#define GUM_LEARNING_GRAPH_CHANGES_GENERATOR_4_DIGRAPH_H
134 template <
typename STRUCT_CONSTRAINT >
The base class for all GraphChangesGenerators for directed structures.
Base class for all oriented graphs.
SetIterator< Key > const_iterator
Types for STL compliance.
The class for notifying learning algorithms of new arc additions.
The class for notifying learning algorithms of arc removals.
The class for notifying learning algorithms of arc reversals.
void setMaxNbThreads(Size nb) noexcept
sets the maximum number of threads used to compute the set of changes
STRUCT_CONSTRAINT & constraint() const noexcept
returns the constraint that is used by the generator
GraphChangesGenerator4DiGraph(const GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > &from)
copy constructor
GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > & operator=(GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > &&from)
move operator
void clearChanges() noexcept
empty the set of possible change operators that can be applied
Size _max_threads_number_
the max number of threads authorized
typename Set< GraphChange >::const_iterator iterator
the iterator for parsing the list of possible graph change operators
iterator begin() const
returns an (unsafe) iterator on the beginning of the list of operators
GraphChangesGenerator4DiGraph(GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > &&from)
move operator
DiGraph graph_
the graph on which we generate operators
iterator const_iterator
the const iterator for parsing the list of graph change operators
void createChanges_()
create the set of legal and illegal changes from a given graph
void modifyGraph(const ArcAddition &change)
notify the generator of a change applied to the graph
GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > & operator=(const GraphChangesGenerator4DiGraph< STRUCT_CONSTRAINT > &from)
copy operator
virtual ~GraphChangesGenerator4DiGraph()
destructor
const iterator & end() const
returns an (unsafe) iterator on the end of the list of operators
STRUCT_CONSTRAINT * constraint_
the structural constraint used to restrict the changes
void setGraph(const DiGraph &graph)
sets a new graph from which the generator will compute possible changes
void notifyGetCompleted()
notifies the generator that we have parsed all its legal changes
GraphChangesGenerator4DiGraph(STRUCT_CONSTRAINT &constraint)
default constructor
Set< GraphChange > legal_changes_
the current set of graph changes
The basic class for computing the next graph changes possible in a (directed) structure learning algo...
std::size_t Size
In aGrUM, hashed values are unsigned long int.
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
unsigned int getNumberOfThreads()
returns the max number of threads used by default when entering the next parallel region
The class to use to execute a function by several threads.
Utility functions used for exploiting OpenMP/STL parallelism.