Regina Calculation Engine
List of all members
regina::ShareableObject Class Referenceabstract

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::NGenericIsomorphism< 2 > regina::NGenericIsomorphism< 3 > regina::Dim2BoundaryComponent regina::Dim2Component regina::Dim2Edge regina::Dim2Triangle regina::Dim2Vertex regina::NAbelianGroup regina::NAngleStructure regina::NBoundaryComponent regina::NComponent regina::NCusp regina::NEdge regina::NFileInfo regina::NGenericIsomorphism< dim > regina::NGroupExpression regina::NGroupPresentation regina::NHomGroupPresentation regina::NHomMarkedAbelianGroup regina::NHomologicalData regina::NManifold regina::NMarkedAbelianGroup regina::NMatrixInt regina::NNormalSurface regina::NPacket regina::NPillowTwoSphere regina::NProgress regina::NProgressManager regina::NSatBlock regina::NSatRegion regina::NSignature regina::NSnappedTwoSphere regina::NStandardTriangulation regina::NSurfaceSubset regina::NTetrahedron regina::NTriangle regina::NTxICore regina::NVertex

Public Member Functions

Constructors and Destructors
 ShareableObject ()
 Default constructor that does nothing. More...
 
virtual ~ShareableObject ()
 Default destructor that does nothing. More...
 
Input and Output
virtual void writeTextShort (std::ostream &out) const =0
 Writes this object in short text format to the given output stream. More...
 
virtual void writeTextLong (std::ostream &out) const
 Writes this object in long text format to the given output stream. More...
 
std::string str () const
 Returns the output from writeTextShort() as a string. More...
 
std::string toString () const
 A deprecated alias for str(), which returns the output from writeTextShort() as a string. More...
 
std::string detail () const
 Returns the output from writeTextLong() as a string. More...
 
std::string toStringLong () const
 A deprecated alias for detail(), which returns the output from writeTextLong() as a string. More...
 

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 ( )
inlinevirtual

Default destructor that does nothing.

Member Function Documentation

std::string regina::ShareableObject::detail ( ) const

Returns the output from writeTextLong() as a string.

Returns
a long text representation of this object.
std::string regina::ShareableObject::str ( ) 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::toString ( ) const
inline

A deprecated alias for str(), which returns the output from writeTextShort() as a string.

Deprecated:
This routine has (at long last) been deprecated; use the simpler-to-type str() instead.
Returns
a short text representation of this object.
std::string regina::ShareableObject::toStringLong ( ) const
inline

A deprecated alias for detail(), which returns the output from writeTextLong() as a string.

Deprecated:
This routine has (at long last) been deprecated; use the simpler-to-type detail() instead.
Returns
a long text representation of this object.
void regina::ShareableObject::writeTextLong ( std::ostream &  out) const
inlinevirtual

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

The output should provide the user with all the information they could want. The output should be human-readable, should not contain extremely long lines (so users can read the output in a terminal), and should end with a final 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
outthe output stream to which to write.

Reimplemented in regina::NSnapPeaTriangulation, regina::NGroupPresentation, regina::NHomMarkedAbelianGroup, regina::NNormalSurfaceList, regina::NTetrahedron, regina::NSatRegion, regina::NVertex, regina::NEdge, regina::Dim2Triangle, regina::NTriangle, regina::NLayeredSolidTorus, regina::NHomGroupPresentation, regina::NGenericIsomorphism< dim >, regina::NGenericIsomorphism< 2 >, regina::NGenericIsomorphism< 3 >, regina::NTriangulation, regina::NComponent, regina::NTxICore, regina::NTriSolidTorus, regina::NAngleStructureList, regina::Dim2Edge, regina::NBoundaryComponent, regina::NLayeredChain, regina::Dim2Vertex, regina::Dim2Component, regina::NScript, regina::NAugTriSolidTorus, regina::NSpiralSolidTorus, regina::NSurfaceFilterProperties, regina::NLayeredTorusBundle, regina::NManifold, regina::NPlugTriSolidTorus, regina::NMatrixInt, regina::NBlockedSFSTriple, regina::NPluggedTorusBundle, regina::Dim2Triangulation, regina::NSurfaceSubset, regina::NLayeredLensSpace, regina::NLayeredLoop, regina::NFileInfo, regina::NBlockedSFSLoop, regina::NSnappedBall, regina::NBlockedSFSPair, regina::Dim2BoundaryComponent, regina::NTrivialTri, regina::NL31Pillow, regina::NLayeredChainPair, regina::NText, regina::NSurfaceFilterCombination, and regina::NBlockedSFS.

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 be human-readable, should fit on a single line, and should not end with a newline.

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

Implemented in regina::NSnapPeaTriangulation, regina::NGroupPresentation, regina::NHomMarkedAbelianGroup, regina::NNormalSurface, regina::NNormalSurfaceList, regina::NTetrahedron, regina::NGroupExpression, regina::NSatRegion, regina::NSatLayering, regina::NHomologicalData, regina::NVertex, regina::NSatReflectorStrip, regina::NEdge, regina::Dim2Triangle, regina::NTriangle, regina::NSatCube, regina::NMarkedAbelianGroup, regina::NHomGroupPresentation, regina::NAbelianGroup, regina::NGenericIsomorphism< dim >, regina::NGenericIsomorphism< 2 >, regina::NGenericIsomorphism< 3 >, regina::NTriangulation, regina::NSatTriPrism, regina::NComponent, regina::NTxICore, regina::NProgress, regina::NAngleStructureList, regina::Dim2Edge, regina::NAngleStructure, regina::NSurfaceFilter, regina::NBoundaryComponent, regina::NPDF, regina::Dim2Vertex, regina::Dim2Component, regina::NScript, regina::NSignature, regina::NManifold, regina::NSatLST, regina::NMatrixInt, regina::NCusp, regina::Dim2Triangulation, regina::NSurfaceSubset, regina::NStandardTriangulation, regina::NProgressManager, regina::NPillowTwoSphere, regina::NFileInfo, regina::Dim2BoundaryComponent, regina::NSnappedTwoSphere, regina::NText, regina::NSatMobius, and regina::NContainer.


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

Copyright © 1999-2014, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).