aGrUM  0.16.0
scheduleCombine.h
Go to the documentation of this file.
1 
28 #ifndef GUM_SCHEDULE_COMBINE_H
29 #define GUM_SCHEDULE_COMBINE_H
30 
31 #include <string>
32 
33 #include <agrum/agrum.h>
34 
35 #include <agrum/core/sequence.h>
39 
40 namespace gum {
41 
42  template < typename GUM_SCALAR >
43 
44  class ScheduleCombine : public ScheduleOperation< GUM_SCALAR > {
45  public:
46  // ############################################################################
48  // ############################################################################
50 
52 
56  const ScheduleMultiDim< GUM_SCALAR >& table2,
60 
63 
66 
69 
71 
72  // ############################################################################
74  // ############################################################################
76 
79 
81 
83  INLINE bool operator==(const ScheduleOperation< GUM_SCALAR >&) const;
84 
86 
88  INLINE bool operator!=(const ScheduleOperation< GUM_SCALAR >&) const;
89 
91 
92  // ############################################################################
94  // ############################################################################
96 
98  void execute();
99 
102  float nbOperations() const;
103 
105 
113  std::pair< long, long > memoryUsage() const;
114 
117  INLINE const ScheduleMultiDim< GUM_SCALAR >& result() const;
118 
121 
124  multiDimResults() const;
125 
127  std::string toString() const;
128 
130 
131  private:
134 
137 
139 
141 
144 
147 
151  const MultiDimImplementation< GUM_SCALAR >&);
152  };
153 
154 } /* namespace gum */
155 
156 // always include the template implementation
158 
159 #endif /* GUM_SCHEDULE_COMBINE_H */
void execute()
executes the operation
INLINE bool operator==(const ScheduleOperation< GUM_SCALAR > &) const
operator ==
ScheduleMultiDim< GUM_SCALAR > __table1
the first table to combine
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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
a MultiDimImplementation Wrapper used for scheduling inferences
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * __args
the set of ScheduleMultidims passed in arguments
std::string toString() const
displays the content of the operation
virtual ScheduleCombine< GUM_SCALAR > * newFactory() const
virtual copy constructor: creates a clone of the operation
The generic class for storing (ordered) sequences of objects.
Definition: sequence.h:1022
ScheduleCombine(const ScheduleMultiDim< GUM_SCALAR > &table1, const ScheduleMultiDim< GUM_SCALAR > &table2, MultiDimImplementation< GUM_SCALAR > *(*combine)(const MultiDimImplementation< GUM_SCALAR > &, const MultiDimImplementation< GUM_SCALAR > &))
default constructor
std::pair< long, long > memoryUsage() const
returns the memory consumption used during the operation
ScheduleCombine< GUM_SCALAR > & operator=(const ScheduleCombine< GUM_SCALAR > &)
copy operator
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.
float nbOperations() const
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
~ScheduleCombine()
destructor
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * __results
the set of ScheduleMultidims resulting from the operation
ScheduleMultiDim< GUM_SCALAR > * __result
the result of the operation
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>
INLINE const ScheduleMultiDim< GUM_SCALAR > & result() const
returns the scheduleMultidim resulting from the execution of the operation
ScheduleMultiDim< GUM_SCALAR > __table2
the second table to combine with
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs() const
returns the set of multidims passed in argument to the operation
INLINE bool operator!=(const ScheduleOperation< GUM_SCALAR > &) const
operator !=