aGrUM  0.16.0
scheduleCliqueStoreMultiDim.h
Go to the documentation of this file.
1 
29 #ifndef GUM_SCHEDULE_CLIQUE_STORE_MULTI_DIM_H
30 #define GUM_SCHEDULE_CLIQUE_STORE_MULTI_DIM_H
31 
32 #include <string>
33 
34 #include <agrum/agrum.h>
35 
36 #include <agrum/core/sequence.h>
41 
42 namespace gum {
43 
44  template < typename GUM_SCALAR >
45 
46  class ScheduleCliqueStoreMultiDim : public ScheduleOperation< GUM_SCALAR > {
47  public:
48  // ############################################################################
50  // ############################################################################
52 
55  const ScheduleMultiDim< GUM_SCALAR >& table,
57  clique_tables,
58  NodeId clique);
59 
62 
65 
68 
70 
71  // ############################################################################
73  // ############################################################################
75 
79 
81 
84 
86 
89 
91 
92  // ############################################################################
94  // ############################################################################
96 
98  void execute();
99 
102  float nbOperations() const;
103 
105 
113  std::pair< long, long > memoryUsage() const;
114 
117 
120  multiDimResults() const;
121 
123  std::string toString() const;
124 
126 
127  private:
128  // the table to store into the clique
130 
131  // a mapping assigning to each clique a set of tables
133 
134  // the clique into which the table will be stored
136 
139  };
140 
141 } /* namespace gum */
142 
143 // always include the template implementation
145 
146 #endif /* GUM_SCHEDULE_CLIQUE_STORE_MULTI_DIM_H */
bool operator!=(const ScheduleOperation< GUM_SCALAR > &) const
operator !=
ScheduleCliqueStoreMultiDim(const ScheduleMultiDim< GUM_SCALAR > &table, NodeProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &clique_tables, NodeId clique)
default constructor
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
The generic class for storing (ordered) sequences of objects.
Definition: sequence.h:1022
bool operator==(const ScheduleOperation< GUM_SCALAR > &) const
operator ==
std::pair< long, long > memoryUsage() const
returns the memory consumption used during the operation
void execute()
executes the operation
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * __args
the set of ScheduleMultidims passed in arguments
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
virtual ~ScheduleCliqueStoreMultiDim()
destructor
Representation of a setA Set is a structure that contains arbitrary elements.
Definition: set.h:165
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
NodeProperty< Set< const MultiDimImplementation< GUM_SCALAR > *> > * __tableSet
float nbOperations() const
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs() const
returns the set of multidims passed in argument to the operation
virtual ScheduleCliqueStoreMultiDim< 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.
ScheduleCliqueStoreMultiDim< GUM_SCALAR > & operator=(const ScheduleCliqueStoreMultiDim< GUM_SCALAR > &)
copy operator
ScheduleMultiDim< GUM_SCALAR > __table
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults() const
returns the set of multidims that should be the result of the operation
<agrum/multidim/multiDimImplementation.h>
std::string toString() const
displays the content of the operation
Size NodeId
Type for node ids.
Definition: graphElements.h:98
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.