thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::ClassDescription< T > Class Template Reference

A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data. More...

#include <ClassDescription.h>

Inherits ThePEG::ClassDescriptionTBase< T >.

Public Types

typedef ClassTraits< T > Traits
 The traits class for the template argument class.
 
- Public Types inherited from ThePEG::ClassDescriptionTBase< T >
typedef ClassTraits< T > Traits
 The traits class for the template argument class.
 
- Public Types inherited from ThePEG::ClassDescriptionBase
typedef vector< const ClassDescriptionBase * > DescriptionVector
 A vector of class descriptions.
 

Public Member Functions

 ClassDescription ()
 Default constructor.
 
virtual BPtr create () const
 Create an object of the described class.
 
virtual void output (tcBPtr b, PersistentOStream &os) const
 Output the members of an object of the described class to a persistent stream.
 
virtual void input (tBPtr b, PersistentIStream &is, int oldVersion) const
 Read the members of an object of the described class from a persistent stream.
 
- Public Member Functions inherited from ThePEG::ClassDescriptionTBase< T >
 ClassDescriptionTBase (bool abst)
 Default constructor.
 
virtual void setup ()
 Set up the base class information for this object.
 
- 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.
 
virtual void setup ()=0
 Set up the base class information for this object.
 
virtual BPtr create () const =0
 Create an object of the described class.
 
virtual void output (tcBPtr b, PersistentOStream &os) const =0
 Output the members of an object of the described class to a persistent stream.
 
virtual void input (tBPtr b, PersistentIStream &is, int oldVersion) const =0
 Read the members of an object of the described class from a persistent stream.
 
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.
 
void baseClasses (DescriptionVector::iterator first, DescriptionVector::iterator last)
 Set the base classes.
 
- 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>
class ThePEG::ClassDescription< T >

A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.

Definition at line 333 of file ClassDescription.h.

Member Typedef Documentation

◆ Traits

template<typename T >
typedef ClassTraits<T> ThePEG::ClassDescription< T >::Traits

The traits class for the template argument class.

Definition at line 338 of file ClassDescription.h.

Constructor & Destructor Documentation

◆ ClassDescription()

template<typename T >
ThePEG::ClassDescription< T >::ClassDescription ( )
inline

Default constructor.

Definition at line 345 of file ClassDescription.h.

Member Function Documentation

◆ create()

template<typename T >
virtual BPtr ThePEG::ClassDescription< T >::create ( ) const
inlinevirtual

Create an object of the described class.

Implements ThePEG::ClassDescriptionBase.

Definition at line 350 of file ClassDescription.h.

References ThePEG::ClassTraitsBase< T >::create().

◆ input()

template<typename T >
virtual void ThePEG::ClassDescription< T >::input ( tBPtr  b,
PersistentIStream is,
int  oldVersion 
) const
inlinevirtual

Read the members of an object of the described class from a persistent stream.

Parameters
bthe object to be read.
isthe persistent stream.
oldVersionthe version number of the object when it was written.

Implements ThePEG::ClassDescriptionBase.

Definition at line 369 of file ClassDescription.h.

References ThePEG::ClassTraitsBase< T >::cast(), and ThePEG::ClassTraitsBase< T >::input().

◆ output()

template<typename T >
virtual void ThePEG::ClassDescription< T >::output ( tcBPtr  b,
PersistentOStream os 
) const
inlinevirtual

Output the members of an object of the described class to a persistent stream.

Parameters
bthe object to be written.
osthe persistent stream.

Implements ThePEG::ClassDescriptionBase.

Definition at line 358 of file ClassDescription.h.

References ThePEG::ClassTraitsBase< T >::cast(), and ThePEG::ClassTraitsBase< T >::output().


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