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::NHomMarkedAbelianGroup regina::NHomologicalData regina::NIsomorphism regina::NManifold regina::NMarkedAbelianGroup regina::NMatrixInt regina::NNormalSurface regina::NPacket regina::NPillowTwoSphere regina::NProgress regina::NProgressManager regina::NSatBlock regina::NSatRegion regina::NSignature regina::NSnapPeaTriangulation regina::NSnappedTwoSphere regina::NStandardTriangulation regina::NSurfaceSubset regina::NTetrahedron regina::NTxICore 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

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::NMarkedAbelianGroup, regina::NHomMarkedAbelianGroup, regina::NAngleStructure, regina::NAngleStructureList, regina::NFile, regina::NFileInfo, regina::NManifold, regina::NMatrixInt, regina::NContainer, regina::NScript, regina::NText, regina::NProgress, regina::NProgressManager, regina::NSnapPeaTriangulation, regina::NSignature, regina::NPillowTwoSphere, regina::NSatMobius, regina::NSatLST, regina::NSatTriPrism, regina::NSatCube, regina::NSatReflectorStrip, regina::NSatLayering, regina::NSatRegion, regina::NSnappedTwoSphere, regina::NStandardTriangulation, regina::NTxICore, regina::NNormalSurface, regina::NNormalSurfaceList, regina::NSurfaceFilter, regina::NSurfaceSubset, regina::NBoundaryComponent, regina::NComponent, regina::NEdge, regina::NFace, regina::NHomologicalData, regina::NIsomorphism, regina::NTetrahedron, regina::NTriangulation, and regina::NVertex.

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::NBlockedSFS, regina::NBlockedSFSLoop, regina::NBlockedSFSPair, regina::NBlockedSFSTriple, regina::NL31Pillow, regina::NLayeredChain, regina::NLayeredChainPair, regina::NLayeredLensSpace, regina::NLayeredLoop, regina::NLayeredSolidTorus, regina::NLayeredTorusBundle, regina::NPluggedTorusBundle, regina::NPlugTriSolidTorus, regina::NSatRegion, regina::NSnappedBall, regina::NSpiralSolidTorus, regina::NTriSolidTorus, regina::NTrivialTri, regina::NTxICore, regina::NNormalSurfaceList, regina::NSurfaceSubset, regina::NSurfaceFilterCombination, regina::NSurfaceFilterProperties, regina::NIsomorphism, and regina::NTriangulation.

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.


The documentation for this class was generated from the following file:
Copyright © 1999-2007, 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).