STK++ 0.9.13
|
Interface base class for all classes implementing the curious recursive template paradigm. More...
#include <STK_IRecursiveTemplate.h>
Inherited by STK::DataHandlerBase< DataHandler >, STK::DataHandlerBase< KernelHandler >, STK::DenseIteratorBase< BiDirectionalIterator< Array > >, STK::DenseIteratorBase< ConstBiDirectionalIterator< Array > >, STK::DenseIteratorBase< ConstDenseRandomIterator< Array > >, STK::DenseIteratorBase< DenseRandomIterator< Array_ > >, STK::IFunction< dloglikelihood >, STK::IFunction< invPsi >, STK::IFunction< invPsiMLog >, STK::ILeastSquare< MultiLeastSquare< ArrayB, ArrayA > >, STK::IMixtureBridge< CategoricalBridge< Id, Data > >, STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >, STK::IMixtureBridge< GammaBridge< Id, Data > >, STK::IMixtureBridge< HDGaussianBridge< Id, Data > >, STK::IMixtureBridge< HDMatrixGaussianBridge< IdRow, IdCol, Data > >, STK::IMixtureBridge< KmmBridge< Id, Data > >, STK::IMixtureBridge< PoissonBridge< Id, Data > >, STK::IMixtureDensity< Categorical_pjk< Array > >, STK::IMixtureDensity< Categorical_pk< Array > >, STK::IMixtureDensity< DiagGaussian_s< Array > >, STK::IMixtureDensity< DiagGaussian_sj< Array > >, STK::IMixtureDensity< DiagGaussian_sjk< Array > >, STK::IMixtureDensity< DiagGaussian_sjsk< Array > >, STK::IMixtureDensity< DiagGaussian_sk< Array > >, STK::IMixtureDensity< Gamma_a_bjk< Array > >, STK::IMixtureDensity< Gamma_a_bk< Array > >, STK::IMixtureDensity< Gamma_aj_bjk< Array > >, STK::IMixtureDensity< Gamma_aj_bk< Array > >, STK::IMixtureDensity< Gamma_ajk_b< Array > >, STK::IMixtureDensity< Gamma_ajk_bj< Array > >, STK::IMixtureDensity< Gamma_ajk_bjk< Array > >, STK::IMixtureDensity< Gamma_ajk_bk< Array > >, STK::IMixtureDensity< Gamma_ak_b< Array > >, STK::IMixtureDensity< Gamma_ak_bj< Array > >, STK::IMixtureDensity< Gamma_ak_bjk< Array > >, STK::IMixtureDensity< Gamma_ak_bk< Array > >, STK::IMixtureDensity< HDGaussian_AjkBkQkD< Array > >, STK::IMixtureDensity< HDMatrixGaussianModel< IdRow_, IdCol_, Array_ > >, STK::IMixtureDensity< Kmm_s >, STK::IMixtureDensity< Kmm_sk >, STK::IMixtureDensity< Poisson_ljk< Array > >, STK::IMixtureDensity< Poisson_ljlk< Array > >, STK::IMixtureDensity< Poisson_lk< Array > >, STK::IMixtureManager< CategoricalMixtureManager< DataHandler > >, STK::IMixtureManager< DiagGaussianMixtureManager< DataHandler > >, STK::IMixtureManager< GammaMixtureManager< DataHandler > >, STK::IMixtureManager< KernelMixtureManager >, STK::IMixtureManager< PoissonMixtureManager< DataHandler > >, STK::IMixtureManager< DiagGaussianMixtureManager< DataHandler_ > >, STK::IMixtureManager< PoissonMixtureManager< DataHandler_ > >, STK::IMixtureManager< GammaMixtureManager< DataHandler_ > >, STK::IMixtureManager< CategoricalMixtureManager< DataHandler_ > >, STK::IMultiParameters< JointBernoulliParameters >, STK::IMultiParameters< JointGammaParameters >, STK::IMultiParameters< JointGaussianParameters >, STK::IMultiStatModel< Array, CVectorX, JointBernoulliParameters >, STK::IMultiStatModel< Array, WColVector, JointGammaParameters >, STK::IMultiStatModel< Array, CVectorX, JointGaussianParameters >, STK::IMultiStatModel< ModelBernoulli_pj< Data_, WColVector_ > >, STK::IMultiStatModel< ModelDiagGaussian_muj_sj< Data_, WColVector_ > >, STK::IMultiStatModel< ModelGamma_aj_bj< Data_, WColVector_ > >, STK::IQr< Qr >, STK::ISerie< Seriedl >, STK::ISerie< Serielog1p >, STK::ISvd< Svd< Array > >, STK::ISvd< WeightedSvd< Array, WRows, WCols > >, STK::ISvd< Svd >, STK::ISymEigen< SymEigen< SquareArray > >, STK::ISymEigen< SymEigen< Array2DSquare< Real > > >, STK::ITContainer1D< Array1D< Type_, Size_ > >, STK::ITContainer1D< Array1D< STK::TRange< UnknownSize >, Size_ > >, STK::ITContainer1D< List1D< IVariable * > >, STK::ITContainer1D< List1D< Type_ > >, STK::ITContainer1D< Array1D< Law, Size_ > >, STK::ITContainer1D< SArray1D< Type_, Size_, NzMax_ > >, STK::ITContainer1D< Variable< Type_ > >, STK::ITContainer1D< Array1D< STK::BSplineCoefficients< ColVector >, Size_ > >, STK::ITContainer1D< Array1D< STK::Variable, Size_ > >, STK::ITContainer1D< Array1D< Array_, Size_ > >, STK::ITContainer1D< Array1D< STK::CArraySquare, Size_ > >, STK::ITContainer1D< Array1D< STK::CArrayVector, Size_ > >, STK::ITContainer1D< Array1D< Real, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< Array_, Real >, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< STK::CArraySquare, Real >, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< STK::CArrayVector, Real >, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< Real, Real >, Size_ > >, STK::ITContainer1D< Array1D< TaggedKernel, Size_ > >, STK::ITContainer1D< Array1D< int, Size_ > >, STK::ITContainer1D< Array1D< IndexedValue, Size_ > >, STK::ITContainer1D< Array1D< CArray< Real, UnknownSize, UnknownSize, Arrays::by_col_ >, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< CArray< Real, UnknownSize, UnknownSize, Arrays::by_col_ >, Real >, Size_ > >, STK::ITContainer1D< Array1D< CArrayPoint< Real, UnknownSize, Arrays::by_col_ >, Size_ > >, STK::ITContainer1D< Array1D< STK::Stat::Online< CArrayPoint< Real, UnknownSize, Arrays::by_col_ >, Real >, Size_ > >, STK::ITContainer1D< Variable< Real > >, STK::InnerIteratorBase< Array1D< Type_, Size_ >, Array1D< Type_, Size_ >::InnerOperator >, STK::RangeBase< TRange< Size_ > >, STK::RangeBase< TRange< UnknownSize > >, STK::DataHandlerBase< Derived >, STK::DenseIteratorBase< Derived >, STK::ILeastSquare< Derived >, STK::IMixtureBridge< Derived >, STK::IMixtureDensity< Derived >, STK::IMixtureManager< Derived >, STK::IMixtureModel< Derived >, STK::IMultiStatModel< Derived >, STK::IQr< Derived >, STK::ISvd< Derived >, STK::ISymEigen< Derived >, STK::ITContainer1D< Derived >, STK::ITContainer2D< Derived >, STK::ITContainerBase< Derived >, STK::InnerIteratorBase< Array, Derived >, STK::RangeBase< Derived >, and STK::SparseIteratorBase< Derived >.
Public Member Functions | |
Derived & | asDerived () |
static cast : return a reference of this with a cast to the derived class. | |
Derived const & | asDerived () const |
static cast : return a const reference of this with a cast to the derived class. | |
Derived * | asPtrDerived () |
static cast : return a ptr on a Derived of this with a cast to the derived class. | |
Derived const * | asPtrDerived () const |
static cast : return a ptr on a constant Derived of this with a cast to the derived class. | |
Derived * | clone () const |
create a leaf using the copy constructor of the Derived class. | |
Derived * | clone (bool isRef) const |
create a leaf using the copy constructor of the Derived class and a flag determining if the clone is a reference or not. | |
Protected Member Functions | |
IRecursiveTemplate () | |
constructor. | |
~IRecursiveTemplate () | |
destructor. | |
Interface base class for all classes implementing the curious recursive template paradigm.
Implement the curious recursive template paradigm : the template parameter Derived
is the type of the leaf class that implements IRecursiveTemplate
. A constant reference/pointer on the derived type can be obtained using the methods asDerived
and asPtrDerived
.
Definition at line 55 of file STK_IRecursiveTemplate.h.
|
inlineprotected |
|
inlineprotected |
|
inline |
static cast : return a reference of this with a cast to the derived class.
Definition at line 68 of file STK_IRecursiveTemplate.h.
Referenced by STK::ITContainerBase< Derived >::at(), STK::ITContainerBase< Derived >::at(), STK::ITContainerBase< Derived >::at(), STK::ITContainerBase< Derived >::at(), STK::ITContainer1D< Derived >::beginConstIterator(), STK::ITContainer1D< Derived >::beginIterator(), STK::IRecursiveTemplate< Derived >::clone(), STK::IRecursiveTemplate< Derived >::clone(), STK::ITContainerBase< Derived >::cols(), STK::IMultiStatModel< Derived >::computeLnLikelihood(), STK::IMixtureManager< Derived >::createMixture(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer1D< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer1D< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::ITContainerBase< Derived >::elt(), STK::ITContainer2D< Derived >::elt(), STK::IArray1D< Array1D< Type_, Size_ > >::end(), STK::ITContainer1D< Derived >::endConstIterator(), STK::IMixtureDensity< Derived >::finalizeStep(), STK::IMixtureModel< Derived >::finalizeStep(), STK::IMixtureManager< Derived >::getMissingValues(), STK::IMixtureManager< Derived >::getParameters(), STK::IMixtureModel< Derived >::initializeModel(), STK::IMixtureDensity< Derived >::initializeStep(), STK::IMixtureModel< Derived >::initializeStep(), STK::RangeBase< Derived >::isContaining(), STK::RangeBase< Derived >::isIn(), STK::InnerIteratorBase< Array, Derived >::next(), STK::ITContainerBase< Derived >::operator()(), STK::DenseIteratorBase< Derived >::operator++(), STK::SparseIteratorBase< Derived >::operator++(), STK::DenseIteratorBase< Derived >::operator++(), STK::SparseIteratorBase< Derived >::operator++(), STK::DenseIteratorBase< Derived >::operator+=(), STK::RangeBase< Derived >::operator+=(), STK::SparseIteratorBase< Derived >::operator+=(), STK::DenseIteratorBase< Derived >::operator--(), STK::SparseIteratorBase< Derived >::operator--(), STK::DenseIteratorBase< Derived >::operator--(), STK::SparseIteratorBase< Derived >::operator--(), STK::DenseIteratorBase< Derived >::operator-=(), STK::RangeBase< Derived >::operator-=(), STK::SparseIteratorBase< Derived >::operator-=(), STK::ITContainerBase< Derived >::operator[](), STK::ITContainerBase< Derived >::operator[](), STK::InnerIteratorBase< Array, Derived >::prev(), STK::ITContainer2D< Derived >::resize(), STK::ITContainer2D< Derived >::resize(), STK::ITContainer1D< Derived >::resize(), STK::ITContainerBase< Derived >::rows(), STK::ISvd< Derived >::run(), STK::ISymEigen< Derived >::run(), STK::IMultiStatModel< Derived >::run(), STK::IMultiStatModel< Derived >::run(), STK::IMixtureDensity< Derived >::sample(), STK::IMixtureModel< Derived >::sample(), STK::IMixtureManager< Derived >::setParameters(), STK::IMixtureDensity< Derived >::setParametersStep(), STK::IMixtureModel< Derived >::setParametersStep(), STK::ITContainer1D< Derived >::shift(), STK::ITContainer2D< Derived >::shift(), STK::ITContainer2D< Derived >::shift(), STK::ITContainer1D< Derived >::sub(), STK::InnerIteratorBase< Array, Derived >::value(), STK::InnerIteratorBase< Array, Derived >::valueRef(), and STK::IMultiStatModel< Derived >::writeParameters().
|
inline |
static cast : return a const reference of this with a cast to the derived class.
Definition at line 74 of file STK_IRecursiveTemplate.h.
|
inline |
static cast : return a ptr on a Derived
of this with a cast to the derived class.
Definition at line 80 of file STK_IRecursiveTemplate.h.
|
inline |
static cast : return a ptr on a constant Derived
of this with a cast to the derived class.
Definition at line 86 of file STK_IRecursiveTemplate.h.
|
inline |
create a leaf using the copy constructor of the Derived class.
this
Definition at line 91 of file STK_IRecursiveTemplate.h.
References STK::IRecursiveTemplate< Derived >::asDerived().
Referenced by STK::DataFrame::DataFrame(), and STK::DataFrame::operator=().
|
inline |
create a leaf using the copy constructor of the Derived class and a flag determining if the clone is a reference or not.
isRef | true if the clone object is a reference |
this
Definition at line 99 of file STK_IRecursiveTemplate.h.
References STK::IRecursiveTemplate< Derived >::asDerived().