thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO > Class Template Reference

DescribeClassT and its derived companion classes DescribeClass DescribeAbstractClass, DescribeNoPIOClass and DescribeAbstractNoPIOClass, is a simplified interface to the type information system in ThePEG. More...

#include <DescribeClass.h>

Inheritance diagram for ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >:

Public Types

typedef ThePEG::Ptr< T >::pointer TPtr
 Alias for a reference counted pointer to T . More...
 
typedef ThePEG::Ptr< T >::const_pointer cTPtr
 Alias for a reference counted pointer to a const T . More...
 
typedef ThePEG::Ptr< T >::transient_pointer tTPtr
 Alias for a transient pointer to T . More...
 
typedef ThePEG::Ptr< T >::transient_const_pointer tcTPtr
 Alias for a transient pointer to a const T . More...
 
typedef ThePEG::Ptr< Base >::pointer BPtr
 Alias for a reference counted pointer to Base . More...
 
typedef ThePEG::Ptr< Base >::const_pointer cBPtr
 Alias for a reference counted pointer to a const Base . More...
 
typedef ThePEG::Ptr< Base >::transient_pointer tBPtr
 Alias for a transient pointer to Base . More...
 
typedef ThePEG::Ptr< Base >::transient_const_pointer tcBPtr
 Alias for a transient pointer to a const Base . More...
 
- Public Types inherited from ThePEG::ClassDescriptionBase
typedef vector< const ClassDescriptionBase * > DescriptionVector
 A vector of class descriptions. More...
 

Public Member Functions

 DescribeClassT (string cname, string lib, int vers=0)
 Constructor taking the name of the class, the dynamic library where it is located and an optional version number as argument.
 
virtual ~DescribeClassT ()
 The descructor.
 
virtual void setup ()
 Set up the base class information for this object.
 
virtual BPtr create () const
 Default-create an object.
 
virtual void output (tcBPtr o, PersistentOStream &os) const
 Call standard output function.
 
virtual void input (tBPtr o, PersistentIStream &is, int oldVersion) const
 Call standard input function.
 
- Public Member Functions inherited from ThePEG::ClassDescriptionBase
virtual ~ClassDescriptionBase ()
 Empty destructor.
 
const type_info & info () const
 The standart RTTI type_info object for the described class.
 
int version () const
 The version of the described class.
 
string library () const
 The name of a file containing the dynamic library where the class is implemented.
 
bool check () const
 Return true if this object was set up properly.
 
const DescriptionVectordescriptions () const
 Return the descriptions of the base classes of the described class.
 
bool isA (const ClassDescriptionBase &base) const
 Return true if the class described by the argument is a base class of the class described by this.
 
bool abstract () const
 Return true if the corresponding class is abstract.
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 Constructor with name.
 
 Named (const Named &)=default
 Explicit default copy-constructor (too avoid compiler warnings)
 
const string & name () const
 Return name.
 
bool operator== (const Named &other) const
 Test for equality.
 
bool operator< (const Named &other) const
 Lexicographical comparison.
 

Additional Inherited Members

- Protected Member Functions inherited from ThePEG::ClassDescriptionBase
 ClassDescriptionBase (string newName, const type_info &newInfo, int newVersion, string newLibrary, bool abst)
 The constructor used by sub-classes. More...
 
void baseClasses (DescriptionVector::iterator first, DescriptionVector::iterator last)
 Set the base classes. More...
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 Assignment.
 
const string & name (const string &newName)
 Set new name.
 

Detailed Description

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
class ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >

DescribeClassT and its derived companion classes DescribeClass DescribeAbstractClass, DescribeNoPIOClass and DescribeAbstractNoPIOClass, is a simplified interface to the type information system in ThePEG.

For simple classes there is no need to specialize the ClassTraits and BaseClassTrait classes and to have a static member variable of ClassDescription in the class (as in the full ThePEG type info system). Instead it is enough to have one statically initialized variable of one of the DescraibeClass classes for each class. The Abstract and NoPIO versions of this class should be used for abstract classes and classes without persistent I/O functions respectively.

Definition at line 159 of file DescribeClass.h.

Member Typedef Documentation

◆ BPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< Base >::pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::BPtr

Alias for a reference counted pointer to Base .

Definition at line 164 of file DescribeClass.h.

◆ cBPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< Base >::const_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::cBPtr

Alias for a reference counted pointer to a const Base .

Definition at line 164 of file DescribeClass.h.

◆ cTPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< T >::const_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::cTPtr

Alias for a reference counted pointer to a const T .

Definition at line 163 of file DescribeClass.h.

◆ tBPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< Base >::transient_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::tBPtr

Alias for a transient pointer to Base .

Definition at line 164 of file DescribeClass.h.

◆ tcBPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< Base >::transient_const_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::tcBPtr

Alias for a transient pointer to a const Base .

Definition at line 164 of file DescribeClass.h.

◆ tcTPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< T >::transient_const_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::tcTPtr

Alias for a transient pointer to a const T .

Definition at line 163 of file DescribeClass.h.

◆ TPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< T >::pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::TPtr

Alias for a reference counted pointer to T .

Definition at line 163 of file DescribeClass.h.

◆ tTPtr

template<typename T, typename BaseT, bool Abstract = false, bool NoPIO = false>
typedef ThePEG::Ptr< T >::transient_pointer ThePEG::DescribeClassT< T, BaseT, Abstract, NoPIO >::tTPtr

Alias for a transient pointer to T .

Definition at line 163 of file DescribeClass.h.


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