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 | |
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... | |
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.
|
inline |
Default constructor that does nothing.
|
inlinevirtual |
Default destructor that does nothing.
std::string regina::ShareableObject::detail | ( | ) | const |
Returns the output from writeTextLong() as a string.
std::string regina::ShareableObject::str | ( | ) | const |
Returns the output from writeTextShort() as a string.
__str__()
function.
|
inline |
A deprecated alias for str(), which returns the output from writeTextShort() as a string.
|
inline |
A deprecated alias for detail(), which returns the output from writeTextLong() as a string.
|
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.
out | the 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.
|
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.
out | the 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.