Regina Calculation Engine
|
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>
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. |
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.
regina::ShareableObject::ShareableObject | ( | ) | [inline] |
Default constructor that does nothing.
regina::ShareableObject::~ShareableObject | ( | ) | [inline, virtual] |
Default destructor that does nothing.
std::string regina::ShareableObject::toString | ( | ) | const |
Returns the output from writeTextShort() as a string.
__str__()
function.std::string regina::ShareableObject::toStringLong | ( | ) | const |
Returns the output from writeTextLong() as a string.
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.
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.
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.
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::NPDF, 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.