aGrUM  0.16.0
gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR > Class Template Reference

#include <scheduleCliqueStoreMultiDim.h>

+ Inheritance diagram for gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >:
+ Collaboration diagram for gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >:

Public Member Functions

Constructors / Destructors
 ScheduleCliqueStoreMultiDim (const ScheduleMultiDim< GUM_SCALAR > &table, NodeProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &clique_tables, NodeId clique)
 default constructor More...
 
 ScheduleCliqueStoreMultiDim (const ScheduleCliqueStoreMultiDim< GUM_SCALAR > &)
 copy constructor More...
 
virtual ScheduleCliqueStoreMultiDim< GUM_SCALAR > * newFactory () const
 virtual copy constructor: creates a clone of the operation More...
 
virtual ~ScheduleCliqueStoreMultiDim ()
 destructor More...
 
Operators
ScheduleCliqueStoreMultiDim< GUM_SCALAR > & operator= (const ScheduleCliqueStoreMultiDim< GUM_SCALAR > &)
 copy operator More...
 
bool operator== (const ScheduleOperation< GUM_SCALAR > &) const
 operator == More...
 
bool operator!= (const ScheduleOperation< GUM_SCALAR > &) const
 operator != More...
 
Accessors/Modifiers
void execute ()
 executes the operation More...
 
float nbOperations () const
 returns an estimation of the number of elementary operations needed to perform the ScheduleOperation More...
 
std::pair< long, long > memoryUsage () const
 returns the memory consumption used during the operation More...
 
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs () const
 returns the set of multidims passed in argument to the operation More...
 
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults () const
 returns the set of multidims that should be the result of the operation More...
 
std::string toString () const
 displays the content of the operation More...
 
Accessors/Modifiers
Type type () const
 returns the name of the operation More...
 
Idx id () const
 returns the id of the operation More...
 

Public Types

enum  Type : char {
  Type::COMBINE_MULTIDIM, Type::PROJECT_MULTIDIM, Type::DELETE_MULTIDIM, Type::CLIQUE_STORE_MULTIDIM,
  Type::SEPARATOR_STORE_MULTIDIM
}
 the currently supported types of operations More...
 

Detailed Description

template<typename GUM_SCALAR>
class gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >

Definition at line 46 of file scheduleCliqueStoreMultiDim.h.

Member Enumeration Documentation

◆ Type

template<typename GUM_SCALAR>
enum gum::ScheduleOperation::Type : char
stronginherited

the currently supported types of operations

Enumerator
COMBINE_MULTIDIM 

combine 2 ScheduleMultiDims

PROJECT_MULTIDIM 

project a ScheduleMultiDim over a subset of its variables

DELETE_MULTIDIM 

delete a MultiDim from memory

CLIQUE_STORE_MULTIDIM 

store a Multidim into a clique

SEPARATOR_STORE_MULTIDIM 

store a multidim into a separator

Definition at line 45 of file scheduleOperation.h.

45  : char {
47  COMBINE_MULTIDIM,
49  PROJECT_MULTIDIM,
51  DELETE_MULTIDIM,
53  CLIQUE_STORE_MULTIDIM,
55  SEPARATOR_STORE_MULTIDIM
56  };

Constructor & Destructor Documentation

◆ ScheduleCliqueStoreMultiDim() [1/2]

template<typename GUM_SCALAR>
gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::ScheduleCliqueStoreMultiDim ( const ScheduleMultiDim< GUM_SCALAR > &  table,
NodeProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &  clique_tables,
NodeId  clique 
)

default constructor

◆ ScheduleCliqueStoreMultiDim() [2/2]

template<typename GUM_SCALAR>
gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::ScheduleCliqueStoreMultiDim ( const ScheduleCliqueStoreMultiDim< GUM_SCALAR > &  )

copy constructor

◆ ~ScheduleCliqueStoreMultiDim()

template<typename GUM_SCALAR>
virtual gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::~ScheduleCliqueStoreMultiDim ( )
virtual

destructor

Member Function Documentation

◆ execute()

template<typename GUM_SCALAR>
void gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::execute ( )
virtual

executes the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ id()

template<typename GUM_SCALAR>
Idx gum::ScheduleOperation< GUM_SCALAR >::id ( ) const
inherited

returns the id of the operation

◆ memoryUsage()

template<typename GUM_SCALAR>
std::pair< long, long > gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::memoryUsage ( ) const
virtual

returns the memory consumption used during the operation

Actually, this function does not return a precise account of the memory used by the ScheduleOperation but a rough estimate based on the sizes of the tables involved in the operation.

Returns
a pair of memory consumption: the first one is the maximum amount of memory used during the operation and the second one is the amount of memory still used at the end of the function ( the memory used by the resulting table )

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ multiDimArgs()

template<typename GUM_SCALAR>
const Sequence< const ScheduleMultiDim< GUM_SCALAR >* >& gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::multiDimArgs ( ) const
virtual

returns the set of multidims passed in argument to the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ multiDimResults()

template<typename GUM_SCALAR>
const Sequence< const ScheduleMultiDim< GUM_SCALAR >* >& gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::multiDimResults ( ) const
virtual

returns the set of multidims that should be the result of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ nbOperations()

template<typename GUM_SCALAR>
float gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::nbOperations ( ) const
virtual

returns an estimation of the number of elementary operations needed to perform the ScheduleOperation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ newFactory()

template<typename GUM_SCALAR>
virtual ScheduleCliqueStoreMultiDim< GUM_SCALAR >* gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::newFactory ( ) const
virtual

virtual copy constructor: creates a clone of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ operator!=()

template<typename GUM_SCALAR>
bool gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::operator!= ( const ScheduleOperation< GUM_SCALAR > &  ) const
virtual

operator !=

Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ operator=()

template<typename GUM_SCALAR>
ScheduleCliqueStoreMultiDim< GUM_SCALAR >& gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::operator= ( const ScheduleCliqueStoreMultiDim< GUM_SCALAR > &  )

copy operator

◆ operator==()

template<typename GUM_SCALAR>
bool gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::operator== ( const ScheduleOperation< GUM_SCALAR > &  ) const
virtual

operator ==

Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ toString()

template<typename GUM_SCALAR>
std::string gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::toString ( ) const
virtual

displays the content of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ type()

template<typename GUM_SCALAR>
Type gum::ScheduleOperation< GUM_SCALAR >::type ( ) const
inherited

returns the name of the operation

Member Data Documentation

◆ __args

template<typename GUM_SCALAR>
Sequence< const ScheduleMultiDim< GUM_SCALAR >* >* gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::__args
mutableprivate

the set of ScheduleMultidims passed in arguments

Definition at line 138 of file scheduleCliqueStoreMultiDim.h.

◆ __clique

template<typename GUM_SCALAR>
NodeId gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::__clique
private

Definition at line 135 of file scheduleCliqueStoreMultiDim.h.

◆ __table

template<typename GUM_SCALAR>
ScheduleMultiDim< GUM_SCALAR > gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::__table
private

Definition at line 129 of file scheduleCliqueStoreMultiDim.h.

◆ __tableSet

template<typename GUM_SCALAR>
NodeProperty< Set< const MultiDimImplementation< GUM_SCALAR >* > >* gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >::__tableSet
private

Definition at line 132 of file scheduleCliqueStoreMultiDim.h.


The documentation for this class was generated from the following file: