Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

PureRep Struct Reference

#include <PureRep.h>

Inheritance diagram for PureRep::

RefCounter AbelianGroupRep AbelianWordRep DArrayRep GenericRep PolyWordRep SetIteratorData SubgroupGraphRep AbelianSGPresentationRep MatrixRep EltRep GroupRep MapRep SGofFreeGroupRep SGOfNilpotentGroupRep NCChunkRep List of all members.

Public Methods

virtual ~PureRep ()
virtual PureRep* clone () const=0

Detailed Description


PureRep is an abstract base class for representations used in pointer wrapping schemes

This class is a `pure object representation' class, encapsulating the reference counter part of the representation. Normally it serves as the root base of a hierarchy of representations with virtual functions.


Use as a private base class of representations wrapped with BaseObjectOf; make BaseObjectOf a friend; give the class a protected ctor Class(Rep*) : BaseObjectOf(Rep*)

Definition at line 47 of file PureRep.h.

Constructor & Destructor Documentation

PureRep::~PureRep ( ) [inline, virtual]

Make the destructor virtual to ensure that each derived representation gets deleted as what it really is

Definition at line 62 of file PureRep.h.

Member Function Documentation

PureRep * PureRep::clone ( ) const [pure virtual]

Returns a pointer to a copy of the object. Should be implemented as a member which gives a new `deep-copy' by each representation derived from this; normally, by making it new CopyConstrutor(*this) with CopyConstructor doing `deep-copy' (`' because it is enough for the copy constructor to do logical deep copy).

Reimplemented in AmalgProductOfFreeGroupsRep, APwithOneRelatorRep, HNNExtOfFreeGroupRep, OneRelatorGroupRep, OneRelatorGroupWithTorsionRep, AbelianWordRep, EltRep, EltIdentityRep, WordRep, DArrayRep, SetIteratorData, NCChunkRep, GenericRep, AbelianGroupRep, AbelianSGPresentationRep, FPGroupRep, FreeGroupRep, MapRep, FPNilpotentGroupRep, FreeNilpotentGroupRep, PolyWordRep, SGOfFreeNilpotentGroupRep, SGOfFPNilpotentGroupRep, SGOfNilpotentGroupRep, SGofFreeGroupRep, SubgroupRep, and SubgroupGraphRep.

The documentation for this struct was generated from the following file:
Generated at Tue Jun 19 09:50:02 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001