aGrUM  0.16.0
scheduleSeparatorStoreMultiDim.h
Go to the documentation of this file.
1 
30 #ifndef GUM_SCHEDULE_SEPARATOR_STORE_MULTI_DIM_H
31 #define GUM_SCHEDULE_SEPARATOR_STORE_MULTI_DIM_H
32 
33 #include <string>
34 
35 #include <agrum/agrum.h>
36 
37 #include <agrum/core/sequence.h>
42 
43 namespace gum {
44 
45  template < typename GUM_SCALAR >
46 
47  class ScheduleSeparatorStoreMultiDim : public ScheduleOperation< GUM_SCALAR > {
48  public:
49  // ############################################################################
51  // ############################################################################
53 
56  const ScheduleMultiDim< GUM_SCALAR >& table,
58  separator_tables,
59  Arc separator);
60 
64 
67 
70 
72 
73  // ############################################################################
75  // ############################################################################
77 
81 
83 
86 
88 
91 
93 
94  // ############################################################################
96  // ############################################################################
98 
100  void execute();
101 
104  float nbOperations() const;
105 
107 
115  std::pair< long, long > memoryUsage() const;
116 
119 
122  multiDimResults() const;
123 
125  std::string toString() const;
126 
128 
129  private:
130  // the table to store into the clique
132 
133  // a mapping assigning to each clique a set of tables
135 
136  // the separator into which the table will be stored
138 
141  };
142 
143 } /* namespace gum */
144 
145 // always include the template implementation
147 
148 #endif /* GUM_SCHEDULE_SEPARATOR_STORE_MULTI_DIM_H */
virtual ScheduleSeparatorStoreMultiDim< GUM_SCALAR > * newFactory() const
virtual copy constructor: creates a clone of the operation
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults() const
returns the set of multidims that should be the result of the operation
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
a MultiDimImplementation Wrapper used for scheduling inferences
ArcProperty< Set< const MultiDimImplementation< GUM_SCALAR > *> > * __tableSet
std::pair< long, long > memoryUsage() const
returns the memory consumption used during the operation
The generic class for storing (ordered) sequences of objects.
Definition: sequence.h:1022
float nbOperations() const
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
virtual ~ScheduleSeparatorStoreMultiDim()
destructor
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
The class for generic Hash Tables.
Definition: hashTable.h:679
bool operator!=(const ScheduleOperation< GUM_SCALAR > &) const
operator !=
bool operator==(const ScheduleOperation< GUM_SCALAR > &) const
operator ==
Representation of a setA Set is a structure that contains arbitrary elements.
Definition: set.h:165
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs() const
returns the set of multidims passed in argument to the operation
void execute()
executes the operation
ScheduleSeparatorStoreMultiDim< GUM_SCALAR > & operator=(const ScheduleSeparatorStoreMultiDim< GUM_SCALAR > &)
copy operator
The base class for all directed edgesThis class is used as a basis for manipulating all directed edge...
std::string toString() const
displays the content of the operation
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
ScheduleSeparatorStoreMultiDim(const ScheduleMultiDim< GUM_SCALAR > &table, ArcProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &separator_tables, Arc separator)
default constructor
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * __args
the set of ScheduleMultidims passed in arguments
<agrum/multidim/multiDimImplementation.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.