aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
gum::MultiDimCompleteProjection< GUM_SCALAR, TABLE > Class Template Referencefinal

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

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

Public Member Functions

Constructors / Destructors
 MultiDimCompleteProjection (GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
 Default constructor.
 MultiDimCompleteProjection (const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &)
 Copy constructor.
virtual ~MultiDimCompleteProjection ()
 Destructor.
virtual MultiDimCompleteProjection< GUM_SCALAR, TABLE > * newFactory () const
 Virtual constructor.
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.
void setProjectFunction (GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
 Changes the function used for projecting TABLES.

Protected Attributes

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

Private Member Functions

MultiDimCompleteProjection< GUM_SCALAR, TABLE > & operator= (const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &)
 Forbid copy operators.

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 68 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(* proj )(const TABLE< GUM_SCALAR > &, Instantiation *))

Default constructor.

Referenced by MultiDimCompleteProjection(), newFactory(), and operator=().

Here is the caller graph for this function:

◆ MultiDimCompleteProjection() [2/2]

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

Copy constructor.

References MultiDimCompleteProjection().

Here is the call graph for this function:

◆ ~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.

References MultiDimCompleteProjection().

Here is the call graph for this 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.

References MultiDimCompleteProjection().

Here is the call graph for this function:

◆ 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(* proj )(const TABLE< GUM_SCALAR > &, Instantiation *))

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 112 of file multiDimCompleteProjection.h.


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