aGrUM  0.17.2
a C++ library for (probabilistic) graphical models
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 
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-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
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-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
Definition: agrum.h:25
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
float nbOperations() const
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
~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/tools/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 !=