C++ main module for mmsd Package  1.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
CORE_SharedPointersArray< T > Class Template Reference

class CORE_SharedPointersArray is a list of shared pointers More...

#include <CORE_SharedPointersArray.h>

Inheritance diagram for CORE_SharedPointersArray< T >:
Inheritance graph
[legend]
Collaboration diagram for CORE_SharedPointersArray< T >:
Collaboration graph
[legend]

Public Member Functions

 CORE_SharedPointersArray ()
 internal constructor of a shared pointers list More...
 
template<class Q >
 CORE_SharedPointersArray (const CORE_SharedPointersArray< Q > &cpy)
 internal constructor of a shared pointers list which is a copy of cpy More...
 
virtual ~CORE_SharedPointersArray ()
 destroy an array of T* More...
 
const boost::shared_ptr< T > & operator[] (const tArrayIndex &i) const
 get the i-th element shared pointer ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
boost::shared_ptr< T > & operator[] (const tArrayIndex &i)
 get the i-th element shared pointer ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
const T & operator() (const tArrayIndex &i) const
 get the i-th element ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
T & operator() (const int &i)
 get the i-th element ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
template<class Q >
void copy (const CORE_SharedPointersArray< Q > &cpy)
 New copy constructor of a shared pointers list. More...
 
void resize (const tArrayIndex &cap)
 resize the array More...
 
void fit ()
 fit the capacity to size More...
 
void clear ()
 clear the array More...
 
void setSize (const tArrayIndex &n)
 set the size of the shared pointers list More...
 
void setCapacityFactor (const tFlag &cap)
 set the capcity factor More...
 
void set (const tArrayIndex &i, boost::shared_ptr< T > obj)
 set the pointer at the index i More...
 
void set (const tArrayIndex &i, T &obj)
 set the pointer at the index i More...
 
void set (const tArrayIndex &i, T *obj)
 set the pointer at the index i More...
 
void insert (const tArrayIndex &i, boost::shared_ptr< T > obj)
 insert the pointer at index i the old element i become the element i+1 More...
 
void insert (const tArrayIndex &i, T *obj)
 insert the pointer at index i the old element i become the element i+1 More...
 
void insert (const tArrayIndex &i, T &obj)
 insert the pointer at index i the old element i become the element i+1 More...
 
void add (boost::shared_ptr< T > obj)
 add an element at the end More...
 
void add (T &obj)
 add an element at the end More...
 
void add (T *obj)
 add an element at the end More...
 
tBoolean remove (boost::shared_ptr< T > obj)
 remove the pointer More...
 
tBoolean remove (const T &obj)
 remove the pointer More...
 
tBoolean remove (const T *obj)
 remove the pointer More...
 
tBoolean removeAtIndex (const tArrayIndex &i)
 remove the pointer at index i More...
 
tBoolean remove ()
 remove the last pointer More...
 
T * getLastElement ()
 get last element pointer More...
 
const T * getLastElement () const
 get last element pointer More...
 
const T * get (const tArrayIndex &i) const
 get the pointer at index i ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
T * get (const tArrayIndex &i)
 get the pointer at index i ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size())); More...
 
const tArrayIndexgetSize () const
 return the size of the array More...
 
tBoolean exists (const T &obj) const
 exists More...
 
tBoolean exists (const T *obj) const
 exists More...
 
void getSharedPointer (SP::CORE_Object &p)
 get the shared pointer of this class into p More...
 
void getSharedPointer (SPC::CORE_Object &p) const
 get the shared pointer of this class into p More...
 
tString getClassName () const
 return the class name of the object More...
 
tString getIdentityString () const
 return the identity string of the object of the form className_at_address More...
 
tString getPointerAddress () const
 return the identity string of the object More...
 
template<class T >
tBoolean isInstanceOf () const
 return true if the object is an instance of T More...
 
virtual tString toString () const
 return the string representation of the object node More...
 
virtual void print ()
 print the class More...
 
virtual ostream & print (ostream &out) const
 print the class More...
 
virtual void print (const tString &message)
 print the class More...
 
virtual void print (const tInteger &str)
 print More...
 
virtual void print (const tRelativeInteger &str)
 print More...
 
virtual void print (const tReal &str)
 print More...
 
virtual void print (const int &str)
 print More...
 

Static Public Member Functions

static boost::shared_ptr
< CORE_SharedPointersArray< T > > 
New ()
 New constructor of a shared pointers list. More...
 
static tString getClassName (const tString &identityString)
 return the class name of the object using only the identity string More...
 
template<class T >
static tString getTypeName ()
 get type name More...
 
static tBoolean is64Architecture ()
 return true if the machine is a 64 bits machine More...
 
static tBoolean is32Architecture ()
 return true if the machine is a 32 bits machine More...
 
static tString pointer2String (const void *obj)
 return the string represantation of a pointer More...
 
static void setOutput (ostream &out)
 set output More...
 
static ostream & getOutput ()
 get output More...
 
static void printObjectsInMemory ()
 print object in memory More...
 
static ostream & print (ostream &out, const tString &message)
 print the class More...
 
static void outputPrint (const tString &message)
 

Static Public Attributes

static tBoolean mIsMemoryTesting =false
 indicator to store all classes created and deleted only for debuging version More...
 

Protected Member Functions

void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void setType (tString type)
 set the type of the object More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Detailed Description

template<class T>
class CORE_SharedPointersArray< T >

class CORE_SharedPointersArray is a list of shared pointers

Constructor & Destructor Documentation

template<class T >
CORE_SharedPointersArray< T >::CORE_SharedPointersArray ( )

internal constructor of a shared pointers list

template<class T >
template<class Q >
CORE_SharedPointersArray< T >::CORE_SharedPointersArray ( const CORE_SharedPointersArray< Q > &  cpy)

internal constructor of a shared pointers list which is a copy of cpy

Parameters
cpy: shared pointers list to copy

References CORE_SharedPointersArray< T >::copy().

Here is the call graph for this function:

template<class T >
CORE_SharedPointersArray< T >::~CORE_SharedPointersArray ( )
virtual

destroy an array of T*

References null.

Member Function Documentation

template<class T>
void CORE_SharedPointersArray< T >::add ( boost::shared_ptr< T >  obj)
inline

add an element at the end

References CORE_SharedPointersArray< T >::setSize().

Referenced by CORE_SharedPointersArray< T >::add().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::add ( T &  obj)
inline

add an element at the end

References CORE_SharedPointersArray< T >::add().

Here is the call graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::add ( T *  obj)
inline

add an element at the end

References CORE_SharedPointersArray< T >::add(), and null.

Here is the call graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::clear ( )
inline

clear the array

template<class T >
template<class Q >
void CORE_SharedPointersArray< T >::copy ( const CORE_SharedPointersArray< Q > &  cpy)

New copy constructor of a shared pointers list.

Parameters
cpy: shared pointers list to copy

References CORE_SharedPointersArray< T >::getSize(), and tArrayIndex.

Referenced by CORE_SharedPointersArray< T >::CORE_SharedPointersArray().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T >
tBoolean CORE_SharedPointersArray< T >::exists ( const T &  obj) const

exists

template<class T >
tBoolean CORE_SharedPointersArray< T >::exists ( const T *  obj) const

exists

References tArrayIndex.

template<class T >
void CORE_SharedPointersArray< T >::fit ( )

fit the capacity to size

References null, and tArrayIndex.

template<class T>
const T* CORE_SharedPointersArray< T >::get ( const tArrayIndex i) const
inline

get the pointer at index i ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References null.

template<class T>
T* CORE_SharedPointersArray< T >::get ( const tArrayIndex i)
inline

get the pointer at index i ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References null.

static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object using only the identity string

Referenced by UI_Class::createVector2D(), LAP_DoublePackedUpperMatrix::matrixProduct(), LAP_DoubleBandedUpperMatrix::matrixProduct(), LAP_DoubleFullUpperMatrix::matrixProduct(), and CORE_Object::printObjectsInMemory().

Here is the caller graph for this function:

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString().

Here is the caller graph for this function:

tString CORE_Object::getIdentityString ( ) const
inlineinherited

return the identity string of the object of the form className_at_address

Returns
the identity string of the object

References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.

Referenced by UI_Class::createPrimitiveMap(), UI_Class::saveAssociation(), UI_Class::saveClass(), UI_ClassFactory::saveIntoClass(), MATH_StiefelFunction::toString(), LAP_2DView::toString(), CORE_Object::toString(), MATH_StiefelOptimizer::toString(), and MM_Class::toString().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T>
T* CORE_SharedPointersArray< T >::getLastElement ( )
inline

get last element pointer

References null.

template<class T>
const T* CORE_SharedPointersArray< T >::getLastElement ( ) const
inline

get last element pointer

References null.

static ostream& CORE_Object::getOutput ( )
inlinestaticinherited

get output

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited
void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

template<class T>
const tArrayIndex& CORE_SharedPointersArray< T >::getSize ( ) const
inline

return the size of the array

Referenced by CORE_SharedPointersArray< T >::copy().

Here is the caller graph for this function:

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

References tString.

template<class T >
void CORE_SharedPointersArray< T >::insert ( const tArrayIndex i,
boost::shared_ptr< T >  obj 
)

insert the pointer at index i the old element i become the element i+1

References null, and tArrayIndex.

Referenced by CORE_SharedPointersArray< T >::insert().

Here is the caller graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::insert ( const tArrayIndex i,
T *  obj 
)
inline

insert the pointer at index i the old element i become the element i+1

References CORE_SharedPointersArray< T >::insert(), and null.

Here is the call graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::insert ( const tArrayIndex i,
T &  obj 
)
inline

insert the pointer at index i the old element i become the element i+1

References CORE_SharedPointersArray< T >::insert().

Here is the call graph for this function:

static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

References CORE_Object::is64Architecture().

Here is the call graph for this function:

tBoolean CORE_Object::is64Architecture ( )
staticinherited

return true if the machine is a 64 bits machine

Referenced by CORE_Object::is32Architecture().

Here is the caller graph for this function:

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

return true if the object is an instance of T

References null.

template<class T>
static boost::shared_ptr<CORE_SharedPointersArray<T> > CORE_SharedPointersArray< T >::New ( )
inlinestatic

New constructor of a shared pointers list.

template<class T>
const T& CORE_SharedPointersArray< T >::operator() ( const tArrayIndex i) const
inline

get the i-th element ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References ASSERT_IN, and null.

template<class T>
T& CORE_SharedPointersArray< T >::operator() ( const int &  i)
inline

get the i-th element ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References ASSERT_IN, and null.

template<class T>
const boost::shared_ptr<T>& CORE_SharedPointersArray< T >::operator[] ( const tArrayIndex i) const
inline

get the i-th element shared pointer ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References ASSERT_IN.

template<class T>
boost::shared_ptr<T>& CORE_SharedPointersArray< T >::operator[] ( const tArrayIndex i)
inline

get the i-th element shared pointer ASSERT_IN(i>-1); ASSERT_IN(i<((int)mVector.size()));

References ASSERT_IN.

void CORE_Object::outputPrint ( const tString message)
staticinherited

print on output

References null, and CORE_Object::print().

Referenced by CORE_Exception::CORE_Exception().

Here is the call graph for this function:

Here is the caller graph for this function:

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string represantation of a pointer

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

virtual void CORE_Object::print ( )
inlinevirtualinherited

print the class

References CORE_Object::toString().

Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual ostream& CORE_Object::print ( ostream &  out) const
inlinevirtualinherited

print the class

References CORE_Object::print(), and CORE_Object::toString().

Here is the call graph for this function:

void CORE_Object::print ( const tString message)
virtualinherited

print the class

Reimplemented in CORE_Out.

References null, and CORE_Object::print().

Here is the call graph for this function:

void CORE_Object::print ( const tInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tRelativeInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tReal str)
virtualinherited

print

References null.

void CORE_Object::print ( const int &  str)
virtualinherited

print

References null.

static ostream& CORE_Object::print ( ostream &  out,
const tString message 
)
inlinestaticinherited

print the class

void CORE_Object::printObjectsInMemory ( )
staticinherited

print object in memory

References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T>
tBoolean CORE_SharedPointersArray< T >::remove ( boost::shared_ptr< T >  obj)
inline

remove the pointer

Returns
true if the pointerexists,
false otherwise.

References null.

template<class T >
tBoolean CORE_SharedPointersArray< T >::remove ( const T &  obj)

remove the pointer

Returns
true if the pointerexists,
false otherwise.
template<class T >
tBoolean CORE_SharedPointersArray< T >::remove ( const T *  obj)

remove the pointer

Returns
true if the pointerexists,
false otherwise.

References tArrayIndex, and tBoolean.

template<class T>
tBoolean CORE_SharedPointersArray< T >::remove ( )
inline

remove the last pointer

template<class T >
tBoolean CORE_SharedPointersArray< T >::removeAtIndex ( const tArrayIndex i)

remove the pointer at index i

References null, and tArrayIndex.

template<class T >
void CORE_SharedPointersArray< T >::resize ( const tArrayIndex cap)

resize the array

References null, and tArrayIndex.

Referenced by CORE_SharedPointersArray< T >::setSize().

Here is the caller graph for this function:

template<class T >
void CORE_SharedPointersArray< T >::set ( const tArrayIndex i,
boost::shared_ptr< T >  obj 
)

set the pointer at the index i

Referenced by CORE_SharedPointersArray< T >::set().

Here is the caller graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::set ( const tArrayIndex i,
T &  obj 
)
inline

set the pointer at the index i

References CORE_SharedPointersArray< T >::set().

Here is the call graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::set ( const tArrayIndex i,
T *  obj 
)
inline

set the pointer at the index i

References null, and CORE_SharedPointersArray< T >::set().

Here is the call graph for this function:

template<class T>
void CORE_SharedPointersArray< T >::setCapacityFactor ( const tFlag cap)
inline

set the capcity factor

static void CORE_Object::setOutput ( ostream &  out)
inlinestaticinherited

set output

template<class T>
void CORE_SharedPointersArray< T >::setSize ( const tArrayIndex n)
inline

set the size of the shared pointers list

References CORE_SharedPointersArray< T >::resize().

Referenced by CORE_SharedPointersArray< T >::add().

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

virtual void CORE_Object::setType ( tString  type)
inlineprotectedvirtualinherited

set the type of the object

Referenced by LAP_IntegerVector::LAP_IntegerVector(), MATH_BetaFunction::MATH_BetaFunction(), MATH_C1Function::MATH_C1Function(), MATH_DigammaFunction::MATH_DigammaFunction(), MATH_EigenFunction::MATH_EigenFunction(), MATH_Equation::MATH_Equation(), MATH_Function::MATH_Function(), MATH_GammaFunction::MATH_GammaFunction(), MATH_KeplerFunction::MATH_KeplerFunction(), MATH_LogGammaFunction::MATH_LogGammaFunction(), MATH_NewtonEquation::MATH_NewtonEquation(), MATH_StiefelFunction::MATH_StiefelFunction(), MATH_StiefelOptimizer::MATH_StiefelOptimizer(), MATH_TranscendentEquation::MATH_TranscendentEquation(), MATH_TrigammaFunction::MATH_TrigammaFunction(), MATH_ZeroEquation::MATH_ZeroEquation(), MATH_ZKeplerFunction::MATH_ZKeplerFunction(), MM_Attribute::MM_Attribute(), MM_Class::MM_Class(), MM_ClassFactory::MM_ClassFactory(), MM_Data::MM_Data(), MM_Structure::MM_Structure(), MMSD_ClassFactory::MMSD_ClassFactory(), MMSD_Cluster::MMSD_Cluster(), MMSD_ConstDoubleVector::MMSD_ConstDoubleVector(), MMSD_ConstraintGaussianCluster::MMSD_ConstraintGaussianCluster(), MMSD_ConstraintGaussianModel::MMSD_ConstraintGaussianModel(), MMSD_DataSet::MMSD_DataSet(), MMSD_DataSetClassFactory::MMSD_DataSetClassFactory(), MMSD_DoubleFullMatrix::MMSD_DoubleFullMatrix(), MMSD_DoubleSymmetricMatrix::MMSD_DoubleSymmetricMatrix(), MMSD_DoubleVector::MMSD_DoubleVector(), MMSD_FluryGautschiGaussianLaw::MMSD_FluryGautschiGaussianLaw(), MMSD_GaussianCluster::MMSD_GaussianCluster(), MMSD_GaussianFDFunction::MMSD_GaussianFDFunction(), MMSD_GaussianLaw::MMSD_GaussianLaw(), MMSD_GaussianModel::MMSD_GaussianModel(), MMSD_Law::MMSD_Law(), MMSD_Model::MMSD_Model(), MMSD_ModelClassFactory::MMSD_ModelClassFactory(), MMSD_Object::MMSD_Object(), MMSD_StiefelFunction::MMSD_StiefelFunction(), MMSD_StiefelGaussianLaw::MMSD_StiefelGaussianLaw(), STAT_BernoulliDistribution::STAT_BernoulliDistribution(), STAT_BinomialDistribution::STAT_BinomialDistribution(), STAT_Combinatorial< T >::STAT_Combinatorial(), STAT_DiracDistribution::STAT_DiracDistribution(), STAT_Distribution::STAT_Distribution(), STAT_ExponentialDistribution::STAT_ExponentialDistribution(), STAT_GammaDistribution::STAT_GammaDistribution(), STAT_GeometricDistribution::STAT_GeometricDistribution(), STAT_InverseNormalDistribution::STAT_InverseNormalDistribution(), STAT_NormalDistribution::STAT_NormalDistribution(), STAT_Object::STAT_Object(), STAT_PoissonDistribution::STAT_PoissonDistribution(), STAT_UniformDistribution::STAT_UniformDistribution(), and STAT_UniformLaplaceTransform::STAT_UniformLaplaceTransform().

Here is the caller graph for this function:

virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited

method called after setThis() method this method can oly be called once.

Reimplemented in STAT_UniformLaplaceTransform.

Referenced by CORE_Object::setThis(), and STAT_UniformLaplaceTransform::toDoAfterThisSetting().

Here is the caller graph for this function:

tString CORE_Object::toString ( ) const
virtualinherited

return the string representation of the object node

Returns
the string representation of the object node

Reimplemented in MM_Attribute, MM_Structure, MMSD_DoubleSymmetricMatrix, CORE_Time, CORE_Vector< T >, CORE_Array< T >, CORE_Array< tString >, CORE_Array< int >, CORE_Array< tFlag >, MM_Class, MMSD_Model, LAP_DoubleMatrix, LAP_DoubleVector, CORE_Array2D< T >, MMSD_Cluster, MMSD_FluryGautschiGaussianLaw, CORE_Color, CORE_Matrix< T >, MMSD_DataSet, CORE_SharedPointersVMap< Key, Value >, CORE_SharedPointersVMap< tString, const CORE_Object >, CORE_SharedPointersVMap< tString, CORE_Object >, MATH_StiefelOptimizer, MMSD_Law, CORE_SharedPointersListVMap< Key, Value >, MATH_Equation, CORE_SharedPointersKVMap< Key, Value >, MATH_TranscendentEquation, MMSD_GaussianLaw, MMSD_GaussianCluster, MMSD_StiefelGaussianLaw, MATH_NewtonEquation, CORE_String, LAP_View, CORE_Integer, LAP_2DView, MMSD_StiefelFunction, CORE_Array3D< T >, MATH_CubicPolynom, MATH_QuadraticPolynom, MATH_ZeroEquation, MMSD_ConstraintGaussianCluster, CORE_Complex, CORE_Real, MATH_EigenFunction, and MATH_StiefelFunction.

References CORE_Object::getIdentityString().

Referenced by CORE_Object::print(), MM_ClassFactory::saveIntoFile(), CORE_SharedPointersKVMap< Key, Value >::toString(), CORE_SharedPointersListVMap< Key, Value >::toString(), MMSD_Law::toString(), CORE_SharedPointersVMap< Key, Value >::toString(), MMSD_Cluster::toString(), and MMSD_Model::toString().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

tBoolean CORE_Object::mIsMemoryTesting =false
staticinherited

indicator to store all classes created and deleted only for debuging version

Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().


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