Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

regina::ShareableObject Class Reference
[Engine Structure]

Facilitates mirroring objects in the underlying C++ calculation engine using the various wrapper classes provided in the various external interfaces (such as the Python interface). More...

#include <shareableobject.h>

Inheritance diagram for regina::ShareableObject:

regina::boost::noncopyable regina::NAbelianGroup regina::NAngleStructure regina::NBoundaryComponent regina::NComponent regina::NEdge regina::NFace regina::NFile regina::NFileInfo regina::NGroupExpression regina::NGroupPresentation regina::NIsomorphism regina::NManifold regina::NMatrixInt regina::NNormalSurface regina::NPacket regina::NPillowTwoSphere regina::NProgress regina::NProgressManager regina::NSignature regina::NSnappedTwoSphere regina::NStandardTriangulation regina::NSurfaceSubset regina::NTetrahedron regina::NVertex List of all members.

Public Member Functions

 ShareableObject ()
 Default constructor that does nothing.
virtual ~ShareableObject ()
 Default destructor that does nothing.
virtual void writeTextShort (std::ostream &out) const =0
 Writes this object in short text format to the given output stream.
virtual void writeTextLong (std::ostream &out) const
 Writes this object in long text format to the given output stream.
std::string toString () const
 Returns the output from writeTextShort() as a string.
std::string toStringLong () const
 Returns the output from writeTextLong() as a string.

Detailed Description

Facilitates mirroring objects in the underlying C++ calculation engine using the various wrapper classes provided in the various external interfaces (such as the Python interface).

In the underlying C++ engine, a ShareableObject is an object that can be shared with the outside world. In the external interfaces, a ShareableObject is a vacuous wrapper that allows access to the data and methods of the corresponding object in the underlying engine.

See the various interface notes pages for more details regarding using classes derived from ShareableObject.


Constructor & Destructor Documentation

regina::ShareableObject::ShareableObject  )  [inline]
 

Default constructor that does nothing.

Python:
Not present.

regina::ShareableObject::~ShareableObject  )  [inline, virtual]
 

Default destructor that does nothing.


Member Function Documentation

std::string regina::ShareableObject::toString  )  const
 

Returns the output from writeTextShort() as a string.

Python:
This implements the __str__() function.
Returns:
a short text representation of this object.

std::string regina::ShareableObject::toStringLong  )  const
 

Returns the output from writeTextLong() as a string.

Returns:
a long text representation of this object.

void regina::ShareableObject::writeTextLong std::ostream &  out  )  const [inline, virtual]
 

Writes this object in long text format to the given output stream.

The output should provided the user with all the information they could want. The output should end with a newline.

The default implementation of this routine merely calls writeTextShort() and adds a newline.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
out the output stream to which to write.

Reimplemented in regina::NGroupPresentation, regina::NAngleStructureList, regina::NFileInfo, regina::NManifold, regina::NMatrixInt, regina::NScript, regina::NText, regina::NAugTriSolidTorus, regina::NL31Pillow, regina::NLayeredChain, regina::NLayeredChainPair, regina::NLayeredLensSpace, regina::NLayeredLoop, regina::NLayeredSolidTorus, regina::NPlugTriSolidTorus, regina::NSnappedBall, regina::NSpiralSolidTorus, regina::NTriSolidTorus, regina::NTrivialTri, regina::NNormalSurfaceList, regina::NSurfaceSubset, regina::NSurfaceFilterCombination, regina::NSurfaceFilterProperties, regina::NIsomorphism, and regina::NTriangulation.

virtual void regina::ShareableObject::writeTextShort std::ostream &  out  )  const [pure virtual]
 

Writes this object in short text format to the given output stream.

The output should fit on a single line and no newline should be written.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
out the output stream to which to write.

Implemented in regina::NAbelianGroup, regina::NGroupExpression, regina::NGroupPresentation, regina::NAngleStructure, regina::NAngleStructureList, regina::NFile, regina::NFileInfo, regina::NManifold, regina::NMatrixInt, regina::NContainer, regina::NScript, regina::NText, regina::NProgress, regina::NProgressManager, regina::NSignature, regina::NPillowTwoSphere, regina::NSnappedTwoSphere, regina::NStandardTriangulation, regina::NNormalSurface, regina::NNormalSurfaceList, regina::NSurfaceFilter, regina::NSurfaceSubset, regina::NBoundaryComponent, regina::NComponent, regina::NEdge, regina::NFace, regina::NIsomorphism, regina::NTetrahedron, regina::NTriangulation, and regina::NVertex.


The documentation for this class was generated from the following file:
Copyright © 1999-2004, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).