aGrUM  0.16.0
gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE > Class Template Reference

A generic class to project efficiently a MultiDim table over all of its variables. More...

#include <agrum/multidim/operators/multiDimCompleteProjection.h>

Public Member Functions

Constructors / Destructors
 MultiDimCompleteProjection (GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
 Default constructor. More...
 
 MultiDimCompleteProjection (const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &)
 Copy constructor. More...
 
virtual ~MultiDimCompleteProjection ()
 Destructor. More...
 
virtual MultiDimCompleteProjection< GUM_SCALAR, TABLE > * newFactory () const
 Virtual constructor. More...
 
Accessors/Modifiers
GUM_SCALAR project (const TABLE< GUM_SCALAR > &table, Instantiation *instantiation=0)
 Creates and returns the projection of the table over all of its vars. More...
 
void setProjectFunction (GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
 Changes the function used for projecting TABLES. More...
 

Protected Attributes

GUM_SCALAR(* _proj )(const TABLE< GUM_SCALAR > &, Instantiation *)
 The projection function actually used. More...
 

Detailed Description

template<typename GUM_SCALAR, template< typename > class TABLE>
class gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >

A generic class to project efficiently a MultiDim table over all of its variables.

Definition at line 49 of file multiDimCompleteProjection.h.

Constructor & Destructor Documentation

◆ MultiDimCompleteProjection() [1/2]

template<typename GUM_SCALAR, template< typename > class TABLE>
gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::MultiDimCompleteProjection ( GUM_SCALAR(*)(const TABLE< GUM_SCALAR > &, Instantiation *)  proj)

Default constructor.

◆ MultiDimCompleteProjection() [2/2]

template<typename GUM_SCALAR, template< typename > class TABLE>
gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::MultiDimCompleteProjection ( const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &  )

Copy constructor.

◆ ~MultiDimCompleteProjection()

template<typename GUM_SCALAR, template< typename > class TABLE>
virtual gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::~MultiDimCompleteProjection ( )
virtual

Destructor.

Member Function Documentation

◆ newFactory()

template<typename GUM_SCALAR, template< typename > class TABLE>
virtual MultiDimCompleteProjection< GUM_SCALAR, TABLE >* gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::newFactory ( ) const
virtual

Virtual constructor.

Returns
a new fresh MultiDimCombinator with the same projection function.

◆ operator=()

template<typename GUM_SCALAR, template< typename > class TABLE>
MultiDimCompleteProjection< GUM_SCALAR, TABLE >& gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::operator= ( const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &  )
private

Forbid copy operators.

◆ project()

template<typename GUM_SCALAR, template< typename > class TABLE>
GUM_SCALAR gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::project ( const TABLE< GUM_SCALAR > &  table,
Instantiation instantiation = 0 
)

Creates and returns the projection of the table over all of its vars.

◆ setProjectFunction()

template<typename GUM_SCALAR, template< typename > class TABLE>
void gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::setProjectFunction ( GUM_SCALAR(*)(const TABLE< GUM_SCALAR > &, Instantiation *)  proj)

Changes the function used for projecting TABLES.

Member Data Documentation

◆ _proj

template<typename GUM_SCALAR, template< typename > class TABLE>
GUM_SCALAR(* gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE >::_proj) (const TABLE< GUM_SCALAR > &, Instantiation *)
protected

The projection function actually used.

Definition at line 97 of file multiDimCompleteProjection.h.


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