regina Namespace Reference
Engine Structure | Miscellaneous Utilities

Contains the entire Regina calculation engine. More...

## Namespaces

| alias
| Contains helper classes that provide dimension-specific aliases for generic functions.
| detail
| Contains implementation details and common functionality for Regina's dimension-agnostic classes.
| i18n
| Various classes and routines for working with internationalisation and character encodings.
| python
| Utility classes and routines to assist with Python bindings for the calculation engine.
| xml
| Various classes and routines for XML manipulation, some taken or modified from the libxml++ library.

## Classes

class | AbelianGroup
| Represents a finitely generated abelian group. More...
class | AngleStructure
| Represents an angle structure on a triangulation. More...
class | AngleStructures
| A packet representing a collection of angle structures on a triangulation. More...
class | AngleStructureVector
| A vector of integers used to indirectly store the individual angles in an angle structure. More...
class | AugTriSolidTorus
| Represents an augmented triangular solid torus component of a triangulation. More...
class | BanBoundary
| A class that bans normal disc types that meet the boundary of the underlying triangulation. More...
class | BanConstraintBase
| A base class for additional banning and marking constraints that we can place on tree traversal algorithms. More...
class | BanNone
| A do-nothing class that bans no coordinates and marks no coordinates. More...
class | BanTorusBoundary
| A class that bans and marks disc types associated with torus boundary components. More...
class | BitManipulator
| An optimised class for bitwise analysis and manipulation of native data types. More...
class | Bitmask
| A bitmask that can store arbitrarily many true-or-false bits. More...
class | Bitmask1
| A small but extremely fast bitmask class that can store up to 8 * sizeof(T) true-or-false bits. More...
class | Bitmask2
| A small but extremely fast bitmask class that can store up to 8 * sizeof(T) + 8 * sizeof(U) true-or-false bits. More...
class | BlockedSFS
| Represents a blocked Seifert fibred space (possibly with boundary). More...
class | BlockedSFSLoop
| Represents a blocked Seifert fibred space with two boundary tori that are joined together. More...
class | BlockedSFSPair
| Represents a blocked pair of Seifert fibred spaces joined along a single connecting torus. More...
class | BlockedSFSTriple
| Represents a blocked sequence of three Seifert fibred spaces joined along connecting tori. More...
class | BoolSet
| A set of booleans. More...
class | BoundaryComponent
| A component of the boundary of a dim-manifold triangulation. More...
class | BoundaryComponent< 3 >
| A component of the boundary of a 3-manifold triangulation. More...
class | Census
| A utility class used to search for triangulations across one or more 3-manifold census databases. More...
class | CensusDB
| Stores the location and description of one of Regina's in-built census databases. More...
class | CensusHit
| Stores a single "hit" indicating that some given triangulation has been located in one of Regina's in-built census databases. More...
class | CensusHits
| Stores a list of "hits" indicating all the places in which a given triangulation has been located in Regina's various in-built census databases. More...
class | ClosedPrimeMinSearcher
| A gluing permutation search class that offers a specialised search algorithm for when (i) only closed prime minimal P2-irreducible triangulations are required, and (ii) the given face pairing has order at least three. More...
class | CompactSearcher
| A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required. More...
class | Component
| A connected component of a dim-manifold triangulation. More...
class | Component< 2 >
| Represents a connected component of a 2-manifold triangulation. More...
class | Component< 3 >
| Represents a connected component of a 3-manifold triangulation. More...
class | Component< 4 >
| Represents a connected component of a 4-manifold triangulation. More...
class | Container
| A packet that simply contains other packets. More...
class | Cusp
| Represents a single cusp of a SnapPea triangulation. More...
class | Cyclotomic
| Represents an element of a cyclotomic field. More...
class | DegreeGreaterThan
| A function object used for sorting faces of triangulations by decreasing degree. More...
class | DegreeLessThan
| A function object used for sorting faces of triangulations by increasing degree. More...
class | DiscSetSurface
| Represents the set of all normal discs forming a normal surface. More...
class | DiscSetSurfaceData
| Stores data of type `T` for every normal disc within a particular normal surface. More...
class | DiscSetTet
| Represents a set of normal discs inside a single tetrahedron. More...
class | DiscSetTetData
| Stores data of type `T` for every normal disc inside a single tetrahedron. More...
struct | DiscSpec
| Specifies a single normal disc in a normal surface. More...
class | DiscSpecIterator
| An iterator used for running through all normal discs in a normal surface. More...
struct | DiscType
| Identifies a single normal or almost normal disc type within a triangulation. More...
class | DoubleDescription
| Implements a modified double description method for polytope vertex enumeration. More...
class | EnumConstraints
| Represents an individual validity constraint for use with polytope vertex enumeration. More...
class | EulerSearcher
| A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic. More...
class | Example
| This class offers static routines for constructing a variety of sample dim-dimensional triangulations. More...
class | Example< 2 >
| Offers routines for constructing a variety of sample 2-dimensional triangulations. More...
class | Example< 3 >
| Offers routines for constructing a variety of sample 3-dimensional triangulations. More...
class | Example< 4 >
| Offers routines for constructing a variety of sample 4-dimensional triangulations. More...
class | ExampleSnapPea
| This class offers routines for constructing various example SnapPea triangulations. More...
class | Face
| Represents a subdim-face in the skeleton of a dim-dimensional triangulation. More...
class | Face< 2, 2 >
| Represents a tetrahedron within a 2-manifold triangulation. More...
class | Face< 3, 0 >
| Represents a vertex in the skeleton of a 3-manifold triangulation. More...
class | Face< 3, 2 >
| Represents a triangle in the skeleton of a 3-manifold triangulation. More...
class | Face< 3, 3 >
| Represents a tetrahedron within a 3-manifold triangulation. More...
class | Face< 4, 0 >
| Represents a vertex in the skeleton of a 4-manifold triangulation. More...
class | Face< 4, 1 >
| Represents an edge in the skeleton of a 4-manifold triangulation. More...
class | Face< 4, 4 >
| Represents a pentachoron (a 4-dimensional simplex) within a 4-manifold triangulation. More...
class | Face< dim, dim >
| Represents a top-dimensional simplex in a dim-manifold triangulation. More...
class | FaceEmbedding
| Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
class | FaceList
| Stores the list of all subdim-faces of a dim-dimensional triangulation. More...
class | FaceNumbering
| Specifies how subdim-faces are numbered within a dim-dimensional simplex. More...
class | FacePair
| Represents a pair of tetrahedron face numbers. More...
class | FacetPairing
| Represents the dual graph of a dim-manifold triangulation; that is, the pairwise matching of facets of dim-dimensional simplices. More...
class | FacetPairing< 3 >
| Represents the dual graph of a 3-manifold triangulation. More...
struct | FacetSpec
| A lightweight class used to refer to a particular facet of a particular top-dimensional simplex in a dim-dimensional triangulation. More...
class | FileInfo
| Stores information about a Regina data file, including file type and version. More...
class | Flags
| A class representing a bitwise combination of flags defined by an enumeration type. More...
struct | FuncDelete
| An adaptable unary function used to deallocate objects. More...
struct | FuncNew
| An adaptable generator used to create objects using default constructors. More...
struct | FuncNewClonePtr
| An adaptable unary function used to create objects using the `clone()` method. More...
struct | FuncNewCopyPtr
| An adaptable unary function used to create objects using copy constructors. More...
struct | FuncNewCopyRef
| An adaptable unary function used to create objects using copy constructors. More...
class | GenericBitManipulator
| A generic class for bitwise analysis and manipulation of native data types. More...
class | GlobalDirs
| Provides global routines that return directories in which various components of Regina are installed on the system. More...
class | GluingPerms
| Represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets. More...
class | GluingPermSearcher
| A utility class used to build a census of triangulations, by searching through all possible sets of gluing permutations to match a given facet pairing. More...
class | GluingPermSearcher< 2 >
| A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing. More...
class | GluingPermSearcher< 3 >
| A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing. More...
class | GluingPermSearcher< 4 >
| A utility class for searching through all possible gluing permutation sets that correspond to a given pentachoron facet pairing. More...
class | GraphLoop
| Represents a closed graph manifold formed by joining a single bounded Seifert fibred space to itself along a torus. More...
class | GraphPair
| Represents a closed graph manifold formed by joining two bounded Seifert fibred spaces along a common torus. More...
class | GraphTriple
| Represents a closed graph manifold formed by joining three bounded Seifert fibred spaces along their torus boundaries. More...
class | GroupExpression
| Represents an expression involving generators from a group presentation or a free group. More...
struct | GroupExpressionTerm
| Represents a power of a generator in a group presentation. More...
class | GroupPresentation
| Represents a finite presentation of a group. More...
class | Handlebody
| Represents an arbitrary handlebody. More...
class | HasReturnType
| Internal to ReturnsTraits. More...
class | HilbertCD
| Implements a modified Contejean-Devie algorithm for enumerating Hilbert bases. More...
class | HilbertDual
| Implements a modified dual algorithm for enumerating Hilbert bases. More...
class | HilbertPrimal
| Implements a modified primal algorithm for enumerating Hilbert bases. More...
class | HomGroupPresentation
| Represents a homomorphism between groups which are described via finite presentations. More...
class | HomMarkedAbelianGroup
| Represents a homomorphism of finitely generated abelian groups. More...
class | HomologicalData
| Data type that deals with all the detailed homological information in a manifold. More...
class | HSVectorStandard
| A normal hypersurface vector using standard tetrahedron-prism coordinates. More...
class | HyperbolicMinSearcher
| A gluing permutation search class that offers a specialised search algorithm for when only minimal ideal triangulations of cusped finite-volume hyperbolic 3-manifolds are required. More...
struct | HyperInfo
| A template that stores information about a particular normal hypersurface coordinate system. More...
struct | InfinityBase
| Internal base classes for use with IntegerBase, templated on whether we should support infinity as an allowed value. More...
class | IntegerBase
| Represents an arbitrary precision integer. More...
struct | IntOfMinSize
| Gives access to native integer types that hold at least k bytes, where k may be any compile-time constant. More...
struct | IntOfSize
| Gives access to native integer types that hold exactly k bytes, where k may be any compile-time constant. More...
class | Isomorphism
| Represents a combinatorial isomorphism from one dim-manifold triangulation into another. More...
class | L31Pillow
| Represents a triangular pillow L(3,1) component of a triangulation. More...
class | LayeredChain
| Represents a layered chain in a triangulation. More...
class | LayeredChainPair
| Represents a layered chain pair component of a triangulation. More...
class | LayeredLensSpace
| Represents a layered lens space component of a triangulation. More...
class | LayeredLoop
| Represents a layered loop component of a triangulation. More...
class | LayeredSolidTorus
| Represents a layered solid torus in a triangulation. More...
class | LayeredTorusBundle
| Describes a layered torus bundle. More...
class | Layering
| Represents a layering of zero or more tetrahedra upon a torus boundary. More...
class | LensSpace
| Represents a general lens space. More...
class | LessDeref
| An adaptable binary function used to compare the objects to which pointers are pointing. More...
class | LightweightSequence
| A lightweight class for storing a random-access sequence of objects. More...
class | ListOnCall
| Offers a hard-coded list of expensive objects that should only be created if they are required. More...
struct | LPCol
| Used by LPInitialTableaux<LPConstraint> to store a single column of the adjusted matching equation matrix in sparse form. More...
class | LPConstraintBase
| A base class for additional linear constraints that we can add to the tableaux of normal surface or angle structure matching equations. More...
class | LPConstraintEuler
| A class that constraints the tableaux of normal surface matching equations to ensure that Euler characteristic is strictly positive. More...
class | LPConstraintNone
| A do-nothing class that imposes no additional linear constraints on the tableaux of normal surface or angle structure matching equations. More...
class | LPConstraintNonSpun
| A class that constraints the tableaux of normal surface matching equations to ensure that normal surfaces in an ideal triangulation are compact (thereby avoiding spun normal surfaces with infinitely many triangles). More...
class | LPConstraintSubspace
| A subclass of LPConstraintBase used for constraints defined entirely by homogeneous linear equations. More...
class | LPData
| Stores an intermediate tableaux for the dual simplex method, and contains all of the core machinery for using the dual simplex method. More...
class | LPInitialTableaux
| Stores an adjusted matrix of homogeneous linear matching equations based on a given triangulation, in sparse form. More...
class | LPMatrix
| A matrix class for use with linear programming. More...
class | Manifold
| Represents a particular 3-manifold. More...
class | MarkedAbelianGroup
| Represents a finitely generated abelian group given by a chain complex. More...
class | MarkedElement
| A base class for elements of MarkedVector. More...
class | MarkedVector
| A vector of objects with fast, space-efficient reverse lookup of array indices. More...
class | Matrix
| Represents a matrix of elements of the given type T. More...
class | Matrix2
| Represents a 2-by-2 integer matrix. More...
class | MatrixIntDomain
| Represents a matrix of elements from a given integral domain T. More...
class | MatrixRing
| Represents a matrix of elements from a given ring T. More...
class | MaxAdmissible
| Used to enumerate all maximal admissible faces of a polyhedral cone under a given set of admissibility constraints. More...
class | NativeInteger
| A wrapper class for a native, fixed-precision integer type of the given size. More...
struct | NewFunction
| A function object that creates a new object subclassed from Base, where the particular subclass is chosen according to the template argument to operator(). More...
class | NormalHypersurface
| Represents a single normal hypersurface in a 4-manifold triangulation. More...
class | NormalHypersurfaces
| A packet representing a collection of normal hypersurfaces in a 4-manifold triangulation. More...
class | NormalHypersurfaceVector
| Stores the vector of a single normal hypersurface in a 4-manifold triangulation. More...
struct | NormalInfo
| A template that stores information about a particular normal coordinate system. More...
class | NormalSurface
| Represents a single normal surface in a 3-manifold. More...
class | NormalSurfaces
| A packet representing a collection of normal surfaces in a 3-manifold. More...
class | NormalSurfaceVector
| Stores the vector of a single normal surface in a 3-manifold. More...
class | NSVectorANStandard
| An almost normal surface vector using standard triangle-quad-oct coordinates. More...
class | NSVectorMirrored
| A normal surface vector that is mirrored in another coordinate system to avoid frequent lengthy calculations. More...
class | NSVectorOriented
| A normal surface vector using transversely oriented standard (triangle-quad) coordinates. More...
class | NSVectorOrientedQuad
| A normal surface vector using transversely oriented quadrilateral coordinates. More...
class | NSVectorQuad
| A normal surface vector using quad coordinates. More...
class | NSVectorQuadOct
| An almost normal surface vector using quad-oct coordinates. More...
class | NSVectorStandard
| A normal surface vector using standard triangle-quad coordinates. More...
struct | Output
| A common base class for objects that write human-readable text output. More...
struct | OutputBase
| Provides a typedef to help identify where in the class hierarchy the output functions T::str() and T::detail() are implemented. More...
class | Packet
| Represents a packet of information that may be individually edited or operated upon. More...
struct | PacketInfo
| A template that stores information about a particular type of packet. More...
class | PacketListener
| An object that can be registered to listen for packet events. More...
class | PDF
| A packet that can hold a PDF document. More...
class | Perm
| Represents a permutation of {0,1,...,n-1}. More...
class | Perm< 2 >
| Represents a permutation of {0,1}. More...
class | Perm< 3 >
| Represents a permutation of {0,1,2}. More...
class | Perm< 4 >
| Represents a permutation of {0,1,2,3}. More...
class | Perm< 5 >
| Represents a permutation of {0,1,2,3,4}. More...
class | PillowTwoSphere
| Represents a 2-sphere made from two triangles glued together along their three edges. More...
class | PluggedTorusBundle
| Describes a triangulation of a graph manifold formed by joining a bounded saturated region with a thin I-bundle over the torus, possibly with layerings in between. More...
class | PlugTriSolidTorus
| Represents a plugged triangular solid torus component of a triangulation. More...
class | Polynomial
| Represents a single-variable polynomial with coefficients of type T. More...
class | PosOrder
| A comparison object that sorts hyperplanes by position vectors. More...
class | Primes
| A helper class for finding primes and factorising integers. More...
struct | PrismSpec
| Specifies a single triangular prism in a tetrahedron. More...
class | ProgressTracker
| Manages percentage-based progress tracking and cancellation polling for long operations. More...
class | ProgressTrackerBase
| The base class for Regina's progress tracking classes. More...
class | ProgressTrackerOpen
| Manages percentage-based progress tracking and cancellation polling for open-ended operations. More...
class | Property
| Stores a calculable property of an object. More...
class | Qitmask1
| A small but extremely fast "base 4 bitmask" class that can store up to 8 * sizeof(T) "qits", each equal to 0, 1, 2 or 3. More...
class | Qitmask2
| A small but extremely fast "base 4 bitmask" class that can store up to 8 * sizeof(T) + 8 * sizeof(U) "qits", each equal to 0, 1, 2 or 3. More...
class | Rational
| Represents an arbitrary precision rational number. More...
class | Ray
| A fast class for storing a ray rooted at the origin whose coordinates are rational. More...
struct | Returns
| A convenience base class for a non-void function object, which does nothing beyond provide a ReturnType typedef. More...
struct | ReturnsTraits
| Helper class to assist with compile-time analysis of Regina's function objects. More...
struct | ReturnsTraitsImplementation
| Provides the implementation of ReturnsTraits. More...
class | SafePointeeBase
| A base class for objects of type T to be referenceable by a SafePtr. More...
class | SafePtr
| A reference counted smart pointer that supports alternate models of ownership. More...
struct | SatAnnulus
| Represents an annulus formed from a pair of triangles in a Seifert fibred space. More...
class | SatBlock
| Represents a saturated block in a Seifert fibred space. More...
struct | SatBlockSpec
| Describes how a single saturated block forms a part of a larger saturated region. More...
class | SatBlockStarter
| Contains a triangulation of a saturated block along with the accompanying saturated block description. More...
class | SatBlockStarterSearcher
| A helper class for locating and using starter blocks within a triangulation. More...
class | SatBlockStarterSet
| Represents a set of starter blocks that can be used for identifying triangulations of Seifert fibred spaces. More...
class | SatCube
| A saturated block that is a six-tetrahedron cube. More...
class | SatLayering
| A degenerate saturated block that is a single tetrahedron wrapped around so that two opposite edges touch. More...
class | SatLST
| A saturated block that is a layered solid torus. More...
class | SatMobius
| A degenerate zero-tetrahedron saturated block that corresponds to attaching a Mobius band to a single annulus boundary. More...
class | SatReflectorStrip
| A saturated block that is a reflector strip. More...
class | SatRegion
| A large saturated region in a Seifert fibred space formed by joining together saturated blocks. More...
class | SatTriPrism
| A saturated block that is a three-tetrahedron triangular prism. More...
class | Script
| A packet representing a Python script that can be run. More...
class | SFSAltSet
| Provides a variety of alternative representations of a single bounded Seifert fibred space. More...
struct | SFSFibre
| Represents an exceptional (alpha, beta) fibre in a Seifert fibred space. More...
class | SFSpace
| Represents a general Seifert fibred space, which may be orientable or non-orientable. More...
struct | ShortOutput
| A common base class for objects that provide short text output only. More...
class | SigCensus
| A utility class used by formSigCensus(). More...
class | Signature
| Represents a signature of a splitting surface in a closed 3-manifold triangulation. More...
class | SigPartialIsomorphism
| Represents a partial isomorphism between two splitting surface signatures. More...
class | SimpleSurfaceBundle
| Represents a particularly simple closed surface bundle over the circle. More...
class | SnapPeaCensusManifold
| Represents a 3-manifold from the SnapPea cusped census. More...
class | SnapPeaCensusTri
| Represents a 3-manifold triangulation from the SnapPea cusped census. More...
struct | SnapPeaException
| A base class for all exceptions that are thrown from within the SnapPea kernel. More...
struct | SnapPeaFatalError
| An exception that is thrown when the SnapPea kernel encounters a fatal error. More...
struct | SnapPeaMemoryFull
| An exception that is thrown when the SnapPea kernel finds that all available memory has been exhausted. More...
class | SnapPeaTriangulation
| Offers direct access to the SnapPea kernel from within Regina. More...
class | SnappedBall
| Represents a snapped 3-ball in a triangulation. More...
class | SnappedTwoSphere
| Represents a 2-sphere made from two snapped 3-balls in a triangulation. More...
class | SpiralSolidTorus
| Represents a spiralled solid torus in a triangulation. More...
class | StandardTriangulation
| Describes a triangulation or subcomplex of a triangulation whose structure is well-understood. More...
class | StoreConstPtr
| A Property storage policy indicating that the property should be held by constant pointer. More...
class | StoreManagedPtr
| A Property storage policy indicating that the property should be held by pointer and that the property wrapper will also take responsibility for memory management. More...
class | StoreValue
| A Property storage policy indicating that the property should be held by value. More...
class | SurfaceFilter
| A packet that accepts or rejects normal surfaces. More...
class | SurfaceFilterCombination
| A normal surface filter that simply combines other filters. More...
struct | SurfaceFilterInfo
| A template that stores information about a particular type of normal surface filter. More...
class | SurfaceFilterProperties
| A normal surface filter that filters by basic properties of the normal surface. More...
class | TautEnumeration
| The main entry point for the tree traversal algorithm to enumerate all taut angle structures in a 3-manifold triangulation. More...
class | Text
| A packet representing a text string. More...
class | TorusBundle
| Represents a torus bundle over the circle. More...
class | TreeBag
| Represents a single bag in a tree decomposition. More...
class | TreeDecomposition
| Represents a tree decomposition of a graph. More...
class | TreeEnumeration
| The main entry point for the tree traversal algorithm to enumerate all vertex normal or almost normal surfaces in a 3-manifold triangulation. More...
class | TreeSingleSoln
| The main entry point for the tree traversal / branching algorithm to locate a single non-trivial normal surface satisfying given constraints within a 3-manifold triangulation. More...
class | TreeTraversal
| A base class for searches that employ the tree traversal algorithm for enumerating and locating vertex normal surfaces and taut angle structures. More...
class | Triangulation
| A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets. More...
class | Triangulation< 2 >
| Represents a 2-manifold triangulation. More...
class | Triangulation< 3 >
| Represents a 3-dimensional triangulation, typically of a 3-manifold. More...
class | Triangulation< 4 >
| Represents a 4-dimensional triangulation, typically of a 4-manifold. More...
class | TrieSet
| A trie-like data structure for storing and retriving sets. More...
class | TriSolidTorus
| Represents a three-tetrahedron triangular solid torus in a triangulation. More...
class | Tritmask1
| A small but extremely fast "ternary bitmask" class that can store up to 8 * sizeof(T) "trits", each equal to 0, 1 or 2. More...
class | Tritmask2
| A small but extremely fast "ternary bitmask" class that can store up to 8 * sizeof(T) + 8 * sizeof(U) "trits", each equal to 0, 1 or 2. More...
class | TrivialTri
| Represents one of a few particular hard-coded trivial triangulations that do not belong to any of the other larger families. More...
class | TxICore
| Provides a triangulation of the product `T x I` (the product of the torus and the interval). More...
class | TxIDiagonalCore
| One of a family of thin `T x I` triangulations that typically appear at the centres of layered torus bundles. More...
class | TxIParallelCore
| A specific six-tetrahedron TxICore triangulation that does not fit neatly into other families. More...
class | TypeTrie
| A trie that stores a set of type vectors of a fixed length. More...
class | Vector
| An optimised vector class of elements from a given ring T. More...
class | XMLAbelianGroupReader
| An XML element reader that reads a single abelian group. More...
class | XMLAngleStructureReader
| An XML element reader that reads a single angle structure. More...
class | XMLAngleStructuresReader
| An XML packet reader that reads a single angle structure list. More...
class | XMLCallback
| Provides the callbacks for an XMLParser required to parse an entire file using a series of XMLElementReader objects. More...
class | XMLCharsReader
| A reader for an XML element that contains only characters. More...
class | XMLContainerReader
| An XML packet reader that reads a single container. More...
class | XMLElementReader
| Used to read the contents of a single XML element. More...
class | XMLFilterPacketReader
| An XML packet reader that reads a single surface filter. More...
class | XMLFilterReader
| An XML element reader that reads the specific details of a normal surface filter. More...
class | XMLGroupPresentationReader
| An XML element reader that reads a single group presentation. More...
class | XMLNormalHypersurfaceReader
| An XML element reader that reads a single normal hypersurface in a 4-manifold triangulation. More...
class | XMLNormalHypersurfacesReader
| An XML packet reader that reads a single normal hypersurface list. More...
class | XMLNormalSurfaceReader
| An XML element reader that reads a single normal surface. More...
class | XMLNormalSurfacesReader
| An XML packet reader that reads a single normal surface list. More...
class | XMLPacketReader
| An XML element reader that reads the data for an individual packet. More...
class | XMLPDFReader
| An XML packet reader that reads a single PDF packet. More...
class | XMLScriptReader
| An XML packet reader that reads a single script. More...
class | XMLSnapPeaReader
| An XML packet reader that reads a single SnapPea triangulation. More...
class | XMLTextReader
| An XML packet reader that reads a single text packet. More...
class | XMLTreeResolutionTask
| An individual task for resolving dangling packet references after an XML data file has been read. More...
class | XMLTreeResolver
| Provides a mechanism to resolve dangling packet references after a complete packet tree has been read from an XML data file. More...
class | XMLTriangulationReader
| An XML packet reader that reads a single dim-dimensional triangulation. More...
class | XMLTriangulationReader< 2 >
| An XML packet reader that reads a single 2-dimensional triangulation. More...
class | XMLTriangulationReader< 3 >
| An XML packet reader that reads a single 3-dimensional triangulation. More...
class | XMLTriangulationReader< 4 >
| An XML packet reader that reads a single 4-dimensional triangulation. More...

## Typedefs

typedef MatrixIntDomain< Integer > | MatrixInt
| A matrix of arbitrary-precision integers. More...
typedef AbelianGroup | NAbelianGroup
| Deprecated typedef for backward compatibility. More...
typedef GroupExpressionTerm | NGroupExpressionTerm
| Deprecated typedef for backward compatibility. More...
typedef GroupExpression | NGroupExpression
| Deprecated typedef for backward compatibility. More...
typedef GroupPresentation | NGroupPresentation
| Deprecated typedef for backward compatibility. More...
typedef HomGroupPresentation | NHomGroupPresentation
| Deprecated typedef for backward compatibility. More...
typedef MarkedAbelianGroup | NMarkedAbelianGroup
| Deprecated typedef for backward compatibility. More...
typedef HomMarkedAbelianGroup | NHomMarkedAbelianGroup
| Deprecated typedef for backward compatibility. More...
typedef AngleStructureVector | NAngleStructureVector
| Deprecated typedef for backward compatibility. More...
typedef AngleStructure | NAngleStructure
| Deprecated typedef for backward compatibility. More...
typedef AngleStructures | NAngleStructureList
| Deprecated typedef for backward compatibility. More...
typedef CensusDB | NCensusDB
| Deprecated typedef for backward compatibility. More...
typedef CensusHit | NCensusHit
| Deprecated typedef for backward compatibility. More...
typedef CensusHits | NCensusHits
| Deprecated typedef for backward compatibility. More...
typedef Census | NCensus
| Deprecated typedef for backward compatibility. More...
template<int dim>
using | NGenericGluingPerms = GluingPerms< dim >
| Deprecated typedef for backward compatibility. More...
typedef GluingPerms< 2 > | Dim2GluingPerms
| Deprecated typedef for backward compatibility. More...
typedef GluingPerms< 3 > | NGluingPerms
| Deprecated typedef for backward compatibility. More...
typedef GluingPerms< 4 > | Dim4GluingPerms
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 2 > | Dim2GluingPermSearcher
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 2 >::Use | UseDim2GluingPerms
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 3 > | NGluingPermSearcher
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 3 >::Use | UseGluingPerms
| Deprecated typedef for backward compatibility. More...
typedef EulerSearcher | NEulerSearcher
| Deprecated typedef for backward compatibility. More...
typedef CompactSearcher | NCompactSearcher
| Deprecated typedef for backward compatibility. More...
typedef ClosedPrimeMinSearcher | NClosedPrimeMinSearcher
| Deprecated typedef for backward compatibility. More...
typedef HyperbolicMinSearcher | NHyperbolicMinSearcher
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 4 > | Dim4GluingPermSearcher
| Deprecated typedef for backward compatibility. More...
typedef GluingPermSearcher< 4 >::Use | UseDim4GluingPerms
| Deprecated typedef for backward compatibility. More...
typedef DoubleDescription | NDoubleDescription
| Deprecated typedef for backward compatibility. More...
typedef EnumConstraints | NEnumConstraintList
| Deprecated typedef for backward compatibility. More...
typedef HilbertCD | NHilbertCD
| Deprecated typedef for backward compatibility. More...
typedef HilbertDual | NHilbertDual
| Deprecated typedef for backward compatibility. More...
typedef HilbertPrimal | NHilbertPrimal
| Deprecated typedef for backward compatibility. More...
typedef PosOrder | NPosOrder
| Deprecated typedef for backward compatibility. More...
template<class LPConstraint , typename BanConstraint , typename IntType >
using | NTreeTraversal = TreeTraversal< LPConstraint, BanConstraint, IntType >
| Deprecated typedef for backward compatibility. More...
template<class LPConstraint = LPConstraintNone, typename BanConstraint = BanNone, typename IntType = Integer>
using | NTreeEnumeration = TreeEnumeration< LPConstraint, BanConstraint, IntType >
| Deprecated typedef for backward compatibility. More...
template<class LPConstraint = LPConstraintNone, typename BanConstraint = BanNone, typename IntType = Integer>
using | NTautEnumeration = TautEnumeration< LPConstraint, BanConstraint, IntType >
| Deprecated typedef for backward compatibility. More...
template<class LPConstraint = LPConstraintNone, typename BanConstraint = BanNone, typename IntType = Integer>
using | NTreeSingleSoln = TreeSingleSoln< LPConstraint, BanConstraint, IntType >
| Deprecated typedef for backward compatibility. More...
template<int nTypes>
using | NTypeTrie = TypeTrie< nTypes >
| Deprecated typedef for backward compatibility. More...
typedef FileInfo | NFileInfo
| Deprecated typedef for backward compatibility. More...
typedef GlobalDirs | NGlobalDirs
| Deprecated typedef for backward compatibility. More...
typedef HSVectorStandard | NNormalHypersurfaceVectorStandard
| Deprecated typedef for backward compatibility. More...
typedef regina::Flags< HyperListFlags > | HyperList
| A combination of flags for types of normal hypersurface lists. More...
typedef regina::Flags< HyperAlgFlags > | HyperAlg
| A combination of flags for types of normal surface lists. More...
typedef NormalHypersurfaceVector | NNormalHypersurfaceVector
| Deprecated typedef for backward compatibility. More...
typedef NormalHypersurface | NNormalHypersurface
| Deprecated typedef for backward compatibility. More...
typedef NormalHypersurfaces | NNormalHypersurfaceList
| Deprecated typedef for backward compatibility. More...
typedef GraphLoop | NGraphLoop
| Deprecated typedef for backward compatibility. More...
typedef GraphPair | NGraphPair
| Deprecated typedef for backward compatibility. More...
typedef GraphTriple | NGraphTriple
| Deprecated typedef for backward compatibility. More...
typedef Handlebody | NHandlebody
| Deprecated typedef for backward compatibility. More...
typedef LensSpace | NLensSpace
| Deprecated typedef for backward compatibility. More...
typedef Manifold | NManifold
| Deprecated typedef for backward compatibility. More...
typedef SFSFibre | NSFSFibre
| Deprecated typedef for backward compatibility. More...
typedef SFSpace | NSFSpace
| Deprecated typedef for backward compatibility. More...
typedef SFSAltSet | NSFSAltSet
| Deprecated typedef for backward compatibility. More...
typedef SimpleSurfaceBundle | NSimpleSurfaceBundle
| Deprecated typedef for backward compatibility. More...
typedef SnapPeaCensusManifold | NSnapPeaCensusManifold
| Deprecated typedef for backward compatibility. More...
typedef TorusBundle | NTorusBundle
| Deprecated typedef for backward compatibility. More...
typedef Cyclotomic | NCyclotomic
| Deprecated typedef for backward compatibility. More...
typedef IntegerBase< true > | LargeInteger
| LargeInteger is a typedef for IntegerBase<true>, which offers arbitrary precision integers with support for infinity. More...
typedef IntegerBase< false > | Integer
| Integer is a typedef for IntegerBase<false>, which offers arbitrary precision integers without support for infinity. More...
typedef NativeInteger< sizeof(long)> | NNativeLong
| NNativeLong is a typedef for the NativeInteger template class whose underlying integer type is a native long. More...
typedef Integer | NInteger
| Deprecated typedef for backward compatibility. More...
typedef LargeInteger | NLargeInteger
| Deprecated typedef for backward compatibility. More...
template<int bytes>
using | NNativeInteger = NativeInteger< bytes >
| Deprecated typedef for backward compatibility. More...
template<class T >
using | NMatrix = Matrix< T >
| Deprecated typedef for backward compatibility. More...
template<class T >
using | NMatrixRing = MatrixRing< T >
| Deprecated typedef for backward compatibility. More...
typedef MatrixInt | NMatrixInt
| Deprecated typedef for backward compatibility. More...
typedef Matrix2 | NMatrix2
| Deprecated typedef for backward compatibility. More...
template<int n>
using | NPerm = Perm< n >
| Deprecated typedef for backward compatibility. More...
template<typename T >
using | NPolynomial = Polynomial< T >
| Deprecated typedef for backward compatibility. More...
typedef Primes | NPrimes
| Deprecated typedef for backward compatibility. More...
typedef Rational | NRational
| Deprecated typedef for backward compatibility. More...
typedef Ray | NRay
| Deprecated typedef for backward compatibility. More...
typedef Perm< 2 > | NPerm2
| Deprecated typedef for backward compatibility. More...
typedef Perm< 3 > | NPerm3
| Deprecated typedef for backward compatibility. More...
typedef Perm< 4 > | NPerm4
| Deprecated typedef for backward compatibility. More...
typedef Perm< 5 > | NPerm5
| Deprecated typedef for backward compatibility. More...
template<class T >
using | NVector = Vector< T >
| Deprecated typedef for backward compatibility. More...
typedef Container | NContainer
| Deprecated typedef for backward compatibility. More...
typedef Packet | NPacket
| Deprecated typedef for backward compatibility. More...
typedef PacketListener | NPacketListener
| Deprecated typedef for backward compatibility. More...
typedef PDF | NPDF
| Deprecated typedef for backward compatibility. More...
typedef Script | NScript
| Deprecated typedef for backward compatibility. More...
typedef Text | NText
| Deprecated typedef for backward compatibility. More...
typedef ProgressTrackerBase | NProgressTrackerBase
| Deprecated typedef for backward compatibility. More...
typedef ProgressTracker | NProgressTracker
| Deprecated typedef for backward compatibility. More...
typedef ProgressTrackerOpen | NProgressTrackerOpen
| Deprecated typedef for backward compatibility. More...
typedef ExampleSnapPea | NExampleSnapPeaTriangulation
| Deprecated typedef for backward compatibility. More...
typedef Cusp | NCusp
| Deprecated typedef for backward compatibility. More...
typedef SnapPeaTriangulation | NSnapPeaTriangulation
| Deprecated typedef for backward compatibility. More...
typedef std::list< SigPartialIsomorphism * > | SigIsoList
| A list of partial isomorphisms on splitting surface signatures. More...
typedef void(* | UseSignature) (const Signature &, const SigIsoList &, void *)
| A routine used to do arbitrary processing upon a splitting surface signature and its automorphisms. More...
typedef SigCensus | NSigCensus
| Deprecated typedef for backward compatibility. More...
typedef SigIsoList | NSigIsoList
| Deprecated typedef for backward compatibility. More...
typedef SigPartialIsomorphism | NSigPartialIsomorphism
| Deprecated typedef for backward compatibility. More...
typedef Signature | NSignature
| Deprecated typedef for backward compatibility. More...
typedef AugTriSolidTorus | NAugTriSolidTorus
| Deprecated typedef for backward compatibility. More...
typedef BlockedSFS | NBlockedSFS
| Deprecated typedef for backward compatibility. More...
typedef BlockedSFSLoop | NBlockedSFSLoop
| Deprecated typedef for backward compatibility. More...
typedef BlockedSFSPair | NBlockedSFSPair
| Deprecated typedef for backward compatibility. More...
typedef BlockedSFSTriple | NBlockedSFSTriple
| Deprecated typedef for backward compatibility. More...
typedef L31Pillow | NL31Pillow
| Deprecated typedef for backward compatibility. More...
typedef LayeredChain | NLayeredChain
| Deprecated typedef for backward compatibility. More...
typedef LayeredChainPair | NLayeredChainPair
| Deprecated typedef for backward compatibility. More...
typedef LayeredLensSpace | NLayeredLensSpace
| Deprecated typedef for backward compatibility. More...
typedef LayeredLoop | NLayeredLoop
| Deprecated typedef for backward compatibility. More...
typedef LayeredSolidTorus | NLayeredSolidTorus
| Deprecated typedef for backward compatibility. More...
typedef LayeredTorusBundle | NLayeredTorusBundle
| Deprecated typedef for backward compatibility. More...
typedef Layering | NLayering
| Deprecated typedef for backward compatibility. More...
typedef PillowTwoSphere | NPillowTwoSphere
| Deprecated typedef for backward compatibility. More...
typedef PluggedTorusBundle | NPluggedTorusBundle
| Deprecated typedef for backward compatibility. More...
typedef PlugTriSolidTorus | NPlugTriSolidTorus
| Deprecated typedef for backward compatibility. More...
typedef SatAnnulus | NSatAnnulus
| Deprecated typedef for backward compatibility. More...
typedef SatBlock | NSatBlock
| Deprecated typedef for backward compatibility. More...
typedef SatBlockStarter | NSatBlockStarter
| Deprecated typedef for backward compatibility. More...
typedef SatBlockStarterSet | NSatBlockStarterSet
| Deprecated typedef for backward compatibility. More...
typedef SatBlockStarterSearcher | NSatBlockStarterSearcher
| Deprecated typedef for backward compatibility. More...
typedef SatMobius | NSatMobius
| Deprecated typedef for backward compatibility. More...
typedef SatLST | NSatLST
| Deprecated typedef for backward compatibility. More...
typedef SatTriPrism | NSatTriPrism
| Deprecated typedef for backward compatibility. More...
typedef SatCube | NSatCube
| Deprecated typedef for backward compatibility. More...
typedef SatReflectorStrip | NSatReflectorStrip
| Deprecated typedef for backward compatibility. More...
typedef SatLayering | NSatLayering
| Deprecated typedef for backward compatibility. More...
typedef SatBlockSpec | NSatBlockSpec
| Deprecated typedef for backward compatibility. More...
typedef SatRegion | NSatRegion
| Deprecated typedef for backward compatibility. More...
typedef SnapPeaCensusTri | NSnapPeaCensusTri
| Deprecated typedef for backward compatibility. More...
typedef SnappedBall | NSnappedBall
| Deprecated typedef for backward compatibility. More...
typedef SnappedTwoSphere | NSnappedTwoSphere
| Deprecated typedef for backward compatibility. More...
typedef SpiralSolidTorus | NSpiralSolidTorus
| Deprecated typedef for backward compatibility. More...
typedef StandardTriangulation | NStandardTriangulation
| Deprecated typedef for backward compatibility. More...
typedef TriSolidTorus | NTriSolidTorus
| Deprecated typedef for backward compatibility. More...
typedef TrivialTri | NTrivialTri
| Deprecated typedef for backward compatibility. More...
typedef TxICore | NTxICore
| Deprecated typedef for backward compatibility. More...
typedef TxIDiagonalCore | NTxIDiagonalCore
| Deprecated typedef for backward compatibility. More...
typedef TxIParallelCore | NTxIParallelCore
| Deprecated typedef for backward compatibility. More...
typedef DiscSpec | NDiscSpec
| Deprecated typedef for backward compatibility. More...
typedef DiscSetTet | NDiscSetTet
| Deprecated typedef for backward compatibility. More...
template<class T >
using | NDiscSetTetData = DiscSetTetData< T >
| Deprecated typedef for backward compatibility. More...
typedef DiscSetSurface | NDiscSetSurface
| Deprecated typedef for backward compatibility. More...
template<class T >
using | NDiscSetSurfaceData = DiscSetSurfaceData< T >
| Deprecated typedef for backward compatibility. More...
typedef DiscType | NDiscType
| Deprecated typedef for backward compatibility. More...
typedef regina::Flags< NormalListFlags > | NormalList
| A combination of flags for types of normal surface lists. More...
typedef regina::Flags< NormalAlgFlags > | NormalAlg
| A combination of flags for types of normal surface lists. More...
typedef NormalSurfaceVector | NNormalSurfaceVector
| Deprecated typedef for backward compatibility. More...
typedef NormalSurface | NNormalSurface
| Deprecated typedef for backward compatibility. More...
typedef NormalSurfaces | NNormalSurfaceList
| Deprecated typedef for backward compatibility. More...
typedef NSVectorANStandard | NNormalSurfaceVectorANStandard
| Deprecated typedef for backward compatibility. More...
typedef NSVectorMirrored | NNormalSurfaceVectorMirrored
| Deprecated typedef for backward compatibility. More...
typedef NSVectorOriented | NNormalSurfaceVectorOriented
| Deprecated typedef for backward compatibility. More...
typedef NSVectorOrientedQuad | NNormalSurfaceVectorOrientedQuad
| Deprecated typedef for backward compatibility. More...
typedef NSVectorQuad | NNormalSurfaceVectorQuad
| Deprecated typedef for backward compatibility. More...
typedef NSVectorQuadOct | NNormalSurfaceVectorQuadOct
| Deprecated typedef for backward compatibility. More...
typedef NSVectorStandard | NNormalSurfaceVectorStandard
| Deprecated typedef for backward compatibility. More...
typedef PrismSpec | NPrismSpec
| Deprecated typedef for backward compatibility. More...
typedef SurfaceFilter | NSurfaceFilter
| Deprecated typedef for backward compatibility. More...
typedef SurfaceFilterCombination | NSurfaceFilterCombination
| Deprecated typedef for backward compatibility. More...
typedef SurfaceFilterProperties | NSurfaceFilterProperties
| Deprecated typedef for backward compatibility. More...
typedef TreeBag | NTreeBag
| Deprecated typedef for backward compatibility. More...
typedef TreeDecomposition | NTreeDecomposition
| Deprecated typedef for backward compatibility. More...
typedef BoundaryComponent< 2 > | Dim2BoundaryComponent
| Deprecated typedef for backward compatibility. More...
typedef Component< 2 > | Dim2Component
| Deprecated typedef for backward compatibility. More...
typedef Simplex< 2 > | Dim2Triangle
| Deprecated typedef for backward compatibility. More...
typedef Triangulation< 2 > | Dim2Triangulation
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 2, 0 > | Dim2VertexEmbedding
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 2, 1 > | Dim2EdgeEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 2, 0 > | Dim2Vertex
| Deprecated typedef for backward compatibility. More...
typedef Face< 2, 1 > | Dim2Edge
| Deprecated typedef for backward compatibility. More...
typedef Isomorphism< 2 > | Dim2Isomorphism
| Deprecated typedef for backward compatibility. More...
typedef BoundaryComponent< 3 > | NBoundaryComponent
| Deprecated typedef for backward compatibility. More...
typedef Component< 3 > | NComponent
| Deprecated typedef for backward compatibility. More...
typedef Simplex< 3 > | NTetrahedron
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 3, 2 > | NTriangleEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 3, 2 > | NTriangle
| Deprecated typedef for backward compatibility. More...
typedef Triangulation< 3 > | NTriangulation
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 3, 1 > | NEdgeEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 3, 1 > | NEdge
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 3, 0 > | NVertexEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 3, 0 > | NVertex
| Deprecated typedef for backward compatibility. More...
typedef Isomorphism< 3 > | NIsomorphism
| Deprecated typedef for backward compatibility. More...
typedef BoundaryComponent< 4 > | Dim4BoundaryComponent
| Deprecated typedef for backward compatibility. More...
typedef Component< 4 > | Dim4Component
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 4, 1 > | Dim4EdgeEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 4, 1 > | Dim4Edge
| Deprecated typedef for backward compatibility. More...
typedef Simplex< 4 > | Dim4Pentachoron
| Deprecated typedef for backward compatibility. More...
typedef Triangulation< 4 > | Dim4Triangulation
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 4, 2 > | Dim4TriangleEmbedding
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 4, 3 > | Dim4TetrahedronEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 4, 2 > | Dim4Triangle
| Deprecated typedef for backward compatibility. More...
typedef Face< 4, 3 > | Dim4Tetrahedron
| Deprecated typedef for backward compatibility. More...
typedef FaceEmbedding< 4, 0 > | Dim4VertexEmbedding
| Deprecated typedef for backward compatibility. More...
typedef Face< 4, 0 > | Dim4Vertex
| Deprecated typedef for backward compatibility. More...
typedef Isomorphism< 4 > | Dim4Isomorphism
| Deprecated typedef for backward compatibility. More...
typedef Example< 2 > | Dim2ExampleTriangulation
| Deprecated typedef for backward compatibility. More...
typedef Example< 3 > | NExampleTriangulation
| Deprecated typedef for backward compatibility. More...
typedef Example< 4 > | Dim4ExampleTriangulation
| Deprecated typedef for backward compatibility. More...
typedef FacePair | NFacePair
| Deprecated typedef for backward compatibility. More...
typedef FacetPairing< 2 > | Dim2EdgePairing
| Deprecated typedef for backward compatibility. More...
typedef FacetPairing< 4 > | Dim4FacetPairing
| Deprecated typedef for backward compatibility. More...
typedef FacetPairing< 3 > | NFacePairing
| Deprecated typedef for backward compatibility. More...
typedef FacetSpec< 2 > | Dim2TriangleEdge
| Deprecated typedef for backward compatibility. More...
typedef FacetSpec< 3 > | NTetFace
| Deprecated typedef for backward compatibility. More...
typedef FacetSpec< 4 > | Dim4PentFacet
| Deprecated typedef for backward compatibility. More...
template<int dim>
using | Vertex = Face< dim, 0 >
| Refers to a vertex of a dim-dimensional triangulation. More...
template<int dim>
using | Edge = Face< dim, 1 >
| Refers to an edge of a dim-dimensional triangulation. More...
template<int dim>
using | Triangle = Face< dim, 2 >
| Refers to a triangular face of a dim-dimensional triangulation. More...
template<int dim>
using | Tetrahedron = Face< dim, 3 >
| Refers to a tetrahedral face of a dim-dimensional triangulation. More...
template<int dim>
using | Pentachoron = Face< dim, 4 >
| Refers to a pentachoron face of a dim-dimensional triangulation. More...
template<int dim>
using | Simplex = Face< dim, dim >
| Refers to a top-dimensional simplex in a dim-dimensional triangulation. More...
template<int dim>
using | VertexEmbedding = FaceEmbedding< dim, 0 >
| Details how a vertex of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
template<int dim>
using | EdgeEmbedding = FaceEmbedding< dim, 1 >
| Details how a edge of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
template<int dim>
using | TriangleEmbedding = FaceEmbedding< dim, 2 >
| Details how a triangular face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
template<int dim>
using | TetrahedronEmbedding = FaceEmbedding< dim, 3 >
| Details how a tetrahedral face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
template<int dim>
using | PentachoronEmbedding = FaceEmbedding< dim, 4 >
| Details how a pentachoron face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
typedef HomologicalData | NHomologicalData
| Deprecated typedef for backward compatibility. More...
typedef Bitmask1< unsigned char > | BitmaskLen8
| A convenience typedef that gives a small and extremely fast bitmask class capable of holding at least 8 true-or-false bits. More...
typedef Bitmask1< unsigned int > | BitmaskLen16
| A convenience typedef that gives a small and extremely fast bitmask class capable of holding at least 16 true-or-false bits. More...
typedef InternalBitmaskLen32 ::Type | BitmaskLen32
| A convenience typedef that gives a small and extremely fast bitmask class capable of holding at least 32 true-or-false bits. More...
typedef InternalBitmaskLen64 ::Type | BitmaskLen64
| A convenience typedef that gives a small and extremely fast bitmask class capable of holding at least 64 true-or-false bits. More...
typedef BoolSet | NBoolSet
| Deprecated typedef for backward compatibility. More...
typedef Qitmask1< unsigned char > | QitmaskLen8
| A convenience typedef that gives a small and extremely fast qitmask class capable of holding at least 8 true-or-false bits. More...
typedef Qitmask1< unsigned int > | QitmaskLen16
| A convenience typedef that gives a small and extremely fast qitmask class capable of holding at least 16 true-or-false bits. More...
typedef InternalQitmaskLen32 ::Type | QitmaskLen32
| A convenience typedef that gives a small and extremely fast qitmask class capable of holding at least 32 true-or-false bits. More...
typedef InternalQitmaskLen64 ::Type | QitmaskLen64
| A convenience typedef that gives a small and extremely fast qitmask class capable of holding at least 64 true-or-false bits. More...
typedef Tritmask1< unsigned char > | TritmaskLen8
| A convenience typedef that gives a small and extremely fast tritmask class capable of holding at least 8 true-or-false bits. More...
typedef Tritmask1< unsigned int > | TritmaskLen16
| A convenience typedef that gives a small and extremely fast tritmask class capable of holding at least 16 true-or-false bits. More...
typedef InternalTritmaskLen32 ::Type | TritmaskLen32
| A convenience typedef that gives a small and extremely fast tritmask class capable of holding at least 32 true-or-false bits. More...
typedef InternalTritmaskLen64 ::Type | TritmaskLen64
| A convenience typedef that gives a small and extremely fast tritmask class capable of holding at least 64 true-or-false bits. More...

## Enumerations

enum | HyperCoords { HS_STANDARD = 0, HS_PRISM = 1, HS_EDGE_WEIGHT = 200 }
| Represents different coordinate systems that can be used for enumerating and displaying normal hypersurface within 4-manifold triangulations. More...
enum | HyperListFlags { HS_LIST_DEFAULT = 0x0000, HS_EMBEDDED_ONLY = 0x0001, HS_IMMERSED_SINGULAR = 0x0002, HS_VERTEX = 0x0004, HS_FUNDAMENTAL = 0x0008, HS_LEGACY = 0x4000, HS_CUSTOM = 0x8000 }
| Represents different lists of normal hypersurfaces that might be constructed for a given 4-manifold triangulation. More...
enum | HyperAlgFlags { HS_ALG_DEFAULT = 0x0000, HS_VERTEX_DD = 0x0020, HS_HILBERT_PRIMAL = 0x0100, HS_HILBERT_DUAL = 0x0200, HS_ALG_LEGACY = 0x4000, HS_ALG_CUSTOM = 0x8000 }
| Represents options and variants of algorithms for enumerating various types of normal hypersurfaces in 4-manifold triangulations. More...

enum

PacketType {
PACKET_CONTAINER = 1, PACKET_TEXT = 2, PACKET_TRIANGULATION = 3, PACKET_NORMALSURFACES = 6,
PACKET_NORMALSURFACELIST = 6, PACKET_SCRIPT = 7, PACKET_SURFACEFILTER = 8, PACKET_ANGLESTRUCTURES = 9,
PACKET_ANGLESTRUCTURELIST = 9, PACKET_PDF = 10, PACKET_DIM4TRIANGULATION = 11, PACKET_NORMALHYPERSURFACES = 13,
PACKET_NORMALHYPERSURFACELIST = 13, PACKET_DIM2TRIANGULATION = 15, PACKET_SNAPPEATRIANGULATION = 16, PACKET_TRIANGULATION2 = 15,
PACKET_TRIANGULATION3 = 3, PACKET_TRIANGULATION4 = 11, PACKET_TRIANGULATION5 = 105, PACKET_TRIANGULATION6 = 106,
PACKET_TRIANGULATION7 = 107, PACKET_TRIANGULATION8 = 108, PACKET_TRIANGULATION9 = 109, PACKET_TRIANGULATION10 = 110,
PACKET_TRIANGULATION11 = 111, PACKET_TRIANGULATION12 = 112, PACKET_TRIANGULATION13 = 113, PACKET_TRIANGULATION14 = 114,
PACKET_TRIANGULATION15 = 115
}

| Represents the different types of packet that are available in Regina. More...
enum | NormalCoords { NS_STANDARD = 0, NS_QUAD = 1, NS_AN_LEGACY = 100, NS_AN_QUAD_OCT = 101, NS_AN_STANDARD = 102, NS_EDGE_WEIGHT = 200, NS_TRIANGLE_ARCS = 201, NS_ORIENTED = 300, NS_ORIENTED_QUAD = 301, NS_ANGLE = 400 }
| Represents different coordinate systems that can be used for enumerating and displaying normal surfaces. More...
enum | NormalListFlags { NS_LIST_DEFAULT = 0x0000, NS_EMBEDDED_ONLY = 0x0001, NS_IMMERSED_SINGULAR = 0x0002, NS_VERTEX = 0x0004, NS_FUNDAMENTAL = 0x0008, NS_LEGACY = 0x4000, NS_CUSTOM = 0x8000 }
| Represents different lists of normal surfaces that might be constructed for a given 3-manifold triangulation. More...
enum | NormalAlgFlags { NS_ALG_DEFAULT = 0x0000, NS_VERTEX_VIA_REDUCED = 0x0001, NS_VERTEX_STD_DIRECT = 0x0002, NS_VERTEX_TREE = 0x0010, NS_VERTEX_DD = 0x0020, NS_HILBERT_PRIMAL = 0x0100, NS_HILBERT_DUAL = 0x0200, NS_HILBERT_CD = 0x0400, NS_HILBERT_FULLCONE = 0x0800, NS_ALG_LEGACY = 0x4000, NS_ALG_CUSTOM = 0x8000 }
| Represents options and variants of algorithms for enumerating various types of normal surfaces in 3-manifold triangulations. More...
enum | SurfaceExportFields { surfaceExportName = 0x0001, surfaceExportEuler = 0x0002, surfaceExportOrient = 0x0004, surfaceExportSides = 0x0008, surfaceExportBdry = 0x0010, surfaceExportLink = 0x0020, surfaceExportType = 0x0040, surfaceExportNone = 0, surfaceExportAllButName = 0x007e, surfaceExportAll = 0x007f }
| Used to describe a field, or a set of fields, that can be exported alongside a normal surface list. More...
enum | SurfaceFilterType { NS_FILTER_DEFAULT = 0, NS_FILTER_PROPERTIES = 1, NS_FILTER_COMBINATION = 2 }
| Represents different types of filter classes that can be used to filter lists of normal surfaces in 3-manifold triangulations. More...
enum | TreeDecompositionAlg { TD_UPPER = 0x0001, TD_UPPER_GREEDY_FILL_IN = 0x0001 }
| Indicates which algorithm should be used to compute a tree decomposition of a graph. More...
enum | BagComparison { BAG_EQUAL = 0, BAG_SUBSET = -1, BAG_SUPERSET = 1, BAG_UNRELATED = 2 }
| Indicates the relationship between two bags in a tree decomposition. More...
enum | NiceType { NICE_INTRODUCE = 1, NICE_FORGET = 2, NICE_JOIN = 3 }
| Used to indicate the type of each bag in a nice tree decomposition. More...
enum | TuraevViroAlg { TV_DEFAULT = 0, TV_BACKTRACK = 1, TV_TREEWIDTH = 2, TV_NAIVE = 3 }
| Represents the various algorithms available for computing Turaev-Viro invariants. More...

## Functions

std::ostream & | operator<< (std::ostream &out, const GroupExpressionTerm &term)
| Writes the given term to the given output stream. More...
MatrixInt * | makeAngleEquations (const Triangulation< 3 > *tri)
| Creates a new set of angle structure equations for the given triangulation. More...
const char * | versionString ()
| Returns the full version number of this calculation engine. More...
int | versionMajor ()
| Returns the major version number of this calculation engine. More...
int | versionMinor ()
| Returns the minor version number of this calculation engine. More...
bool | versionUsesUTF8 (const char *version)
| Did the given version of Regina consistently use UTF-8 in its data files? More...
const char * | versionSnapPy ()
| Returns the version of SnapPy whose underlying SnapPea kernel is built into Regina. More...
const char * | versionSnapPea ()
| An alias for versionSnapPy(), which returns the version of SnapPy whose underlying SnapPea kernel is built into Regina. More...
bool | hasInt128 ()
| Does this particular build of Regina support native 128-bit arithmetic? More...
int | testEngine (int value)
| Tests to see if an interface can successfully communicate with the underlying C++ calculation engine. More...
Container * | readDehydrationList (const char *filename, unsigned colDehydrations=0, int colLabels=-1, unsigned long ignoreLines=0)
| Reads a list of dehydrated triangulations from the given text file. More...
Container * | readIsoSigList (const char *filename, unsigned dimension=3, unsigned colSigs=0, int colLabels=-1, unsigned long ignoreLines=0)
| Reads a list of isomorphism signatures from the given text file. More...
Triangulation< 3 > * | readOrb (const char *filename)
| Reads a triangulation from the given Orb / Casson file. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::ReturnType | forCoords (HyperCoords coords, FunctionObject &&func, typename ReturnsTraits< FunctionObject >::ReturnType defaultReturn, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of HyperCoords, which is not known until runtime. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::Void | forCoords (HyperCoords coords, FunctionObject &&func, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of HyperCoords, which is not known until runtime. More...
HyperList | operator| (HyperListFlags lhs, HyperListFlags rhs)
| Returns the bitwise OR of the two given flags. More...
HyperAlg | operator| (HyperAlgFlags lhs, HyperAlgFlags rhs)
| Returns the bitwise OR of the two given flags. More...
NormalHypersurfaceVector * | makeZeroVector (const Triangulation< 4 > *triangulation, HyperCoords coords)
| Returns a new normal hypersurface vector of the appropriate length for the given triangulation and the given coordinate system. More...
MatrixInt * | makeMatchingEquations (const Triangulation< 4 > *triangulation, HyperCoords coords)
| Creates a new set of normal hypersurface matching equations for the given triangulation using the given coordinate system. More...
EnumConstraints * | makeEmbeddedConstraints (const Triangulation< 4 > *triangulation, HyperCoords coords)
| Creates a new set of validity constraints representing the condition that normal hypersurfaces be embedded. More...
std::ostream & | operator<< (std::ostream &out, const SFSFibre &f)
| Writes the given fibre in human-readable format to the given output stream. More...
template<class R >
bool | isZero (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<class R >
bool | isNonZero (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<class R >
bool | isPositive (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<class R >
bool | isNegative (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<class R >
bool | isNonNegative (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<class R >
bool | isNonPositive (R x)
| Deprecated routine for managing floating-point roundoff errors. More...
template<bool supportInfinity>
std::ostream & | operator<< (std::ostream &out, const IntegerBase< supportInfinity > &i)
| Writes the given integer to the given output stream. More...
template<bool supportInfinity>
IntegerBase< supportInfinity > | operator+ (long lhs, const IntegerBase< supportInfinity > &rhs)
| Adds the given native integer to the given large integer. More...
template<bool supportInfinity>
IntegerBase< supportInfinity > | operator* (long lhs, const IntegerBase< supportInfinity > &rhs)
| Multiplies the given native integer with the given large integer. More...
template<int bytes>
std::ostream & | operator<< (std::ostream &out, const NativeInteger< bytes > &i)
| Writes the given integer to the given output stream. More...
std::ostream & | operator<< (std::ostream &out, const Matrix2 &mat)
| Writes the given matrix to the given output stream. More...
bool | simpler (const Matrix2 &m1, const Matrix2 &m2)
| Determines whether the first given matrix is more aesthetically pleasing than the second. More...
bool | simpler (const Matrix2 &pair1first, const Matrix2 &pair1second, const Matrix2 &pair2first, const Matrix2 &pair2second)
| Determines whether the first given pair of matrices is more aesthetically pleasing than the second pair. More...
void | smithNormalForm (MatrixInt &matrix)
| Transforms the given integer matrix into Smith normal form. More...
void | smithNormalForm (MatrixInt &matrix, MatrixInt &rowSpaceBasis, MatrixInt &rowSpaceBasisInv, MatrixInt &colSpaceBasis, MatrixInt &colSpaceBasisInv)
| A Smith normal form algorithm that also returns change of basis matrices. More...
void | metricalSmithNormalForm (MatrixInt &matrix, MatrixInt *rowSpaceBasis=0, MatrixInt *rowSpaceBasisInv=0, MatrixInt *colSpaceBasis=0, MatrixInt *colSpaceBasisInv=0)
| An alternative Smith normal form algorithm that also returns change of basis matrices. More...
unsigned | rowBasis (MatrixInt &matrix)
| Find a basis for the row space of the given matrix. More...
unsigned | rowBasisAndOrthComp (MatrixInt &input, MatrixInt &complement)
| Finds a basis for the row space of the given matrix, as well as an "incremental" basis for its orthogonal complement. More...
void | columnEchelonForm (MatrixInt &M, MatrixInt &R, MatrixInt &Ri, const std::vector< unsigned > &rowList)
| Transforms a given matrix into column echelon form with respect to a collection of rows. More...
std::unique_ptr< MatrixInt > | preImageOfLattice (const MatrixInt &hom, const std::vector< Integer > &sublattice)
| Given a homomorphism from Z^n to Z^k and a sublattice of Z^k, compute the preimage of this sublattice under this homomorphism. More...
std::unique_ptr< MatrixInt > | torsionAutInverse (const MatrixInt &input, const std::vector< Integer > &invF)
| Given an automorphism of an abelian group, this procedure computes the inverse automorphism. More...
long | reducedMod (long k, long modBase)
| Reduces k modulo modBase to give the smallest possible absolute value. More...
long | gcd (long a, long b)
| Calculates the greatest common divisor of two signed integers. More...
long | gcdWithCoeffs (long a, long b, long &u, long &v)
| Calculates the greatest common divisor of two given integers and finds the smallest coefficients with which these integers combine to give their gcd. More...
long | lcm (long a, long b)
| Calculates the lowest common multiple of two signed integers. More...
unsigned long | modularInverse (unsigned long n, unsigned long k)
| Calculates the multiplicative inverse of one integer modulo another. More...
constexpr char | digit (int i)
| Returns the character used to express the integer i in a permutation. More...
constexpr int64_t | factorial (int n)
| Returns the factorial of n. More...
template<int n>
std::ostream & | operator<< (std::ostream &out, const Perm< n > &p)
| Writes a string representation of the given permutation to the given output stream. More...
std::ostream & | operator<< (std::ostream &out, const Rational &rat)
| Writes the given rational to the given output stream. More...
template<class T >
std::ostream & | operator<< (std::ostream &out, const Vector< T > &vector)
| Writes the given vector to the given output stream. More...
template<class T , bool supportsUtf8>
std::ostream & | operator<< (std::ostream &out, const Output< T, supportsUtf8 > &object)
| Writes the short text representation of the given object to the given output stream. More...
Packet * | open (const char *filename)
| Reads a Regina data file, and returns the corresponding packet tree. More...
Packet * | open (std::istream &in)
| Reads a Regina data file from the given input stream, and returns the corresponding packet tree. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::ReturnType | forPacket (PacketType packetType, FunctionObject &&func, typename ReturnsTraits< FunctionObject >::ReturnType defaultReturn, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of PacketType, which is not known until runtime. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::Void | forPacket (PacketType packetType, FunctionObject &&func, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of PacketType, which is not known until runtime. More...
constexpr bool | standardDim (int dim)
| Indicates whether the given dimension is one of Regina's standard dimensions. More...
unsigned long | formSigCensus (unsigned order, UseSignature use, void *useArgs=0)
| Forms a census of all splitting surface signatures of the given order. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::ReturnType | forCoords (NormalCoords coords, FunctionObject &&func, typename ReturnsTraits< FunctionObject >::ReturnType defaultReturn, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of NormalCoords, which is not known until runtime. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::Void | forCoords (NormalCoords coords, FunctionObject &&func, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of NormalCoords, which is not known until runtime. More...
std::ostream & | operator<< (std::ostream &out, const DiscSpec &spec)
| Writes the given disc specifier to the given output stream. More...
bool | numberDiscsAwayFromVertex (int discType, int vertex)
| Determines whether or not normal discs of the given type are numbered away from the given vertex. More...
bool | discOrientationFollowsEdge (int discType, int vertex, int edgeStart, int edgeEnd)
| Determines whether or not the natural boundary orientation of a normal disc of the given type follows the given directed normal arc. More...
std::ostream & | operator<< (std::ostream &out, const DiscType &type)
| Writes the given disc type to the given output stream. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::ReturnType | forFilter (SurfaceFilterType filter, FunctionObject &&func, typename ReturnsTraits< FunctionObject >::ReturnType defaultReturn, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of SurfaceFilterType, which is not known until runtime. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::Void | forFilter (SurfaceFilterType filter, FunctionObject &&func, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of SurfaceFilterType, which is not known until runtime. More...
NormalList | operator| (NormalListFlags lhs, NormalListFlags rhs)
| Returns the bitwise OR of the two given flags. More...
NormalAlg | operator| (NormalAlgFlags lhs, NormalAlgFlags rhs)
| Returns the bitwise OR of the two given flags. More...
NormalSurfaceVector * | makeZeroVector (const Triangulation< 3 > *triangulation, NormalCoords coords)
| Returns a new normal surface vector of the appropriate length for the given triangulation and the given coordinate system. More...
MatrixInt * | makeMatchingEquations (const Triangulation< 3 > *triangulation, NormalCoords coords)
| Creates a new set of normal surface matching equations for the given triangulation using the given coordinate system. More...
EnumConstraints * | makeEmbeddedConstraints (const Triangulation< 3 > *triangulation, NormalCoords coords)
| Creates a new set of validity constraints representing the condition that normal surfaces be embedded. More...
std::ostream & | operator<< (std::ostream &out, const PrismSpec &spec)
| Writes the given prism specifier to the given output stream. More...
int | binomSmall (int n, int k)
| Returns the binomial coefficient choose k for small arguments n and k. More...
template<int dim>
int | faceOppositeEdge (int i, int j)
| Returns the (dim-2)-face number that is opposite the edge joining vertices i and j in a dim-dimensional simplex. More...
size_t | base64Length (size_t bytes)
| Returns the number of base64 characters required to encode the given number of bytes. More...
bool | isBase64 (char ch)
| Determines whether the given character is a base64 printable character as used by the base64 routines in Regina. More...
void | base64Encode (const char *in, size_t inlen, char *out, size_t outlen)
| Encodes the given sequence of raw bytes in base64, and writes the results into a preallocated output buffer. More...
size_t | base64Encode (const char *in, size_t inlen, char **out)
| Encodes the given sequence of raw bytes in base64, and passes back a newly allocated array containing the results. More...
bool | base64Decode (const char *in, size_t inlen, char *out, size_t *outlen)
| Decodes the given sequence of base64 characters, and writes the resulting raw bytes into a preallocated output buffer. More...
bool | base64Decode (const char *in, size_t inlen, char **out, size_t *outlen)
| Decodes the given sequence of base64 characters, and passes back a newly allocated array containing the results. More...
std::ostream & | operator<< (std::ostream &out, const Bitmask &mask)
| Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
template<typename T >
std::ostream & | operator<< (std::ostream &out, const Bitmask1< T > &mask)
| Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
template<typename T , typename U >
std::ostream & | operator<< (std::ostream &out, const Bitmask2< T, U > &mask)
| Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
std::ostream & | operator<< (std::ostream &out, const BoolSet &set)
| Writes the given boolean set to the given output stream. More...
template<typename IntType >
constexpr int | bitsRequired (IntType n)
| Returns the number of bits required to store integers in the range 0,...,n-1. More...
template<typename IntType >
constexpr IntType | nextPowerOfTwo (IntType n)
| Returns the smallest integer power of two that is greater than or equal to the given argument n. More...
void | writeResUsage (std::ostream &out)
| Writes time and memory usage for the current process to the given output stream. More...
template<typename T >
T * | clonePtr (T *cloneMe)
| A simple routine for cloning an object if and only if it exists. More...
template<typename T >
T * | clonePtr (const std::unique_ptr< T > &cloneMe)
| A simple routine for cloning an object if and only if it exists. More...
template<typename T >
std::ostream & | operator<< (std::ostream &out, const Qitmask1< T > &mask)
| Writes the given qitmask to the given output stream as a sequence of digits (0, 1, 2 and/or 3). More...
template<typename T , typename U >
std::ostream & | operator<< (std::ostream &out, const Qitmask2< T, U > &mask)
| Writes the given qitmask to the given output stream as a sequence of digits (0, 1, 2 and/or 3). More...
template<typename T >
std::ostream & | operator<< (std::ostream &out, const LightweightSequence< T > &s)
| Writes the given sequence to the given output stream. More...
char * | duplicate (const std::string &str)
| Creates a new C string that is a duplicate of the given C++ string. More...
bool | startsWith (const std::string &str, const std::string &prefix)
| Determines whether the given C++ string begins with the given prefix. More...
std::string | stripWhitespace (const std::string &str)
| Strips all whitespace from the beginning and end of the given C++ string. More...
bool | valueOf (const std::string &str, int8_t &dest)
| Converts the entire given string to an 8-bit integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, uint8_t &dest)
| Converts the entire given string to an unsigned 8-bit integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, short &dest)
| Converts the entire given string to a short integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, unsigned short &dest)
| Converts the entire given string to an unsigned short integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, int &dest)
| Converts the entire given string to an integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, unsigned &dest)
| Converts the entire given string to an unsigned integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, long &dest)
| Converts the entire given string to a long integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, unsigned long &dest)
| Converts the entire given string to an unsigned long integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, long long &dest)
| Converts the entire given string to a long long integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, unsigned long long &dest)
| Converts the entire given string to an unsigned long long integer and reports whether this conversion was successful. More...
template<bool supportInfinity>
bool | valueOf (const std::string &str, IntegerBase< supportInfinity > &dest)
| Converts the entire given string to an arbitrary precision integer and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, double &dest)
| Converts the entire given string to a double precision real number and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, bool &dest)
| Converts the entire given string to a boolean and reports whether this conversion was successful. More...
bool | valueOf (const std::string &str, BoolSet &dest)
| Converts the entire given string to a set of booleans and reports whether this conversion was successful. More...
template<class OutputIterator >
unsigned | basicTokenise (OutputIterator results, const std::string &str)
| Decomposes the given string into tokens. More...
std::string | stringToToken (const char *str)
| Returns a token derived from the given string. More...
std::string | stringToToken (const std::string &str)
| Returns a token derived from the given string. More...
template<typename T >
std::string | superscript (T value)
| Converts the given native C++ integer into a unicode superscript string. More...
template<typename T >
std::string | subscript (T value)
| Converts the given native C++ integer into a unicode subscript string. More...
template<typename T >
std::ostream & | operator<< (std::ostream &out, const Tritmask1< T > &mask)
| Writes the given tritmask to the given output stream as a sequence of digits (0, 1 and/or 2). More...
template<typename T , typename U >
std::ostream & | operator<< (std::ostream &out, const Tritmask2< T, U > &mask)
| Writes the given tritmask to the given output stream as a sequence of digits (0, 1 and/or 2). More...

## Variables

const double | epsilon
| Deprecated constant for managing floating-point roundoff errors. More...
const int | quadSeparating [4][4]
| Lists which quadrilateral types separate which pairs of vertices in a tetrahedron. More...
const int | quadMeeting [4][4][2]
| Lists which quadrilateral types meet which edges in a tetrahedron. More...
const int | quadDefn [3][4]
| Lists which vertices each quadrilateral type separates in a tetrahedron. More...
const int | quadPartner [3][4]
| Lists the second vertex with which each vertex is paired under each quadrilateral type in a tetrahedron. More...
const char | quadString [3][6]
| Contains strings that can be used to represent each quadrilateral type in a tetrahedron. More...
const Perm< 4 > | triDiscArcs [4][3]
| Lists in consecutive order the directed normal arcs that form the boundary of each type of triangular normal disc. More...
const Perm< 4 > | quadDiscArcs [3][4]
| Lists in consecutive order the directed normal arcs that form the boundary of each type of quadrilateral normal disc. More...
const Perm< 4 > | octDiscArcs [3][8]
| Lists in consecutive order the directed normal arcs that form the boundary of each type of octagonal normal disc. More...

## Detailed Description

Contains the entire Regina calculation engine.

Define REGINA_VERIFY_LPDATA to check invariants as the algorithm runs.

Todo:

  Bug: Derive from boost::noncopyable where appropriate.

  Feature (long-term): Enhance the test suite for the calculation engine.

This checking is slow and can increase the running time significantly.

## Typedef Documentation

## Dim2EdgePairing

typedef FacetPairing<2> regina::Dim2EdgePairing

Deprecated typedef for backward compatibility.

This typedef will be removed in a future release of Regina.

Deprecated:
  Instead of the old typedef Dim2EdgePairing, you should use the full class name FacetPairing<2>.

## Dim2Isomorphism

typedef Isomorphism<2> regina::Dim2Isomorphism

Deprecated typedef for backward compatibility.

This typedef will be removed in a future release of Regina.

Deprecated:
  Instead of the old typedef Dim4Isomorphism, you should use the full class name Isomorphism<2>.

## Dim4FacetPairing

typedef FacetPairing<4> regina::Dim4FacetPairing

Deprecated typedef for backward compatibility.

This typedef will be removed in a future release of Regina.

Deprecated:
  Instead of the old typedef Dim4FacetPairing, you should use the full class name FacetPairing<4>.

## Dim4Isomorphism

typedef Isomorphism<4> regina::Dim4Isomorphism

Deprecated typedef for backward compatibility.

This typedef will be removed in a future release of Regina.

Deprecated:
  Instead of the old typedef Dim4Isomorphism, you should use the full class name Isomorphism<4>.

## NIsomorphism

typedef Isomorphism<3> regina::NIsomorphism

Deprecated typedef for backward compatibility.

This typedef will be removed in a future release of Regina.

Deprecated:
  Instead of the old typedef NIsomorphism, you should use the full class name Isomorphism<3>.

## Function Documentation

## bitsRequired()

template<typename IntType >

constexpr int regina::bitsRequired | ( | IntType | n | ) |

constexpr

Returns the number of bits required to store integers in the range 0,...,n-1.

This is simply the number of bits in the binary expansion of n-1.

If n is non-positive then this function will return 0.

Python:\n In Python, this routine fixes the integer type
  IntType to be `long`.

Parameters

  n | any integer.

Returns
  the number of bits required to store 0,...,n-1.

Template Parameters

  IntType | any integer type, such as `int`, `long`, and so on.

## nextPowerOfTwo()

template<typename IntType >

constexpr IntType regina::nextPowerOfTwo | ( | IntType | n | ) |

constexpr

Returns the smallest integer power of two that is greater than or equal to the given argument n.

If n is non-positive then this function will return 1.

Python:\n In Python, this routine fixes the integer type
  IntType to be `long`.

Warning
  Even though the return value is the same type as the argument n, this routine may still overflow. For example, if IntType is a signed char then nextPowerOfTwo(127) will return -128, and if IntType is an unsigned char then nextPowerOfTwo(255) will return 0. Be sure that IntType is large enough for your requirements.

Parameters

  n | any integer.

Returns
  the smallest integer power of two that is ≥ n.

Template Parameters

  IntType | any integer type, such as `int`, `long`, and so on.

## operator<<()

template<typename T >

std::ostream& regina::operator<< | ( | std::ostream & | out,
|  | const LightweightSequence< T > & | s
| ) |  |

Writes the given sequence to the given output stream.

No newline will be written.

The sequence will be written in the form `(a, b, c, ...)`.

Precondition
  An object x of type T can be written to an output stream using the syntax `out << x`.

Parameters

  out | the output stream to which to write.
  s | the sequence to write.

Returns
  a reference to the given output stream.

## writeResUsage()

void regina::writeResUsage | ( | std::ostream & | out | ) |

Writes time and memory usage for the current process to the given output stream.

Information is gathered from the `/proc` filesystem, which means that this routine will only write meaningful information under a Linux system where `/proc` is mounted.

Specifically, this routine reads information on the running process from `/proc/self/stat`, and writes a short string to the given output stream of the form:

utime=..., stime=..., vsize=...

The three ellipses in the example above will be replaced with integers, representing:

- the number jiffies that this process has been scheduled in user mode (the utime field);
- the number jiffies that this process has been scheduled in kernel mode (the stime field);
- the the virtual memory size in bytes (the vsize field).

The description of these three fields is taken directly from the `proc(5)` manpage. Note that the length of a jiffy can differ from system to system; see the `time(7)` manpage for details.

The output will not contain a newline, and the given output stream will not be flushed.

If `/proc/self/stat` cannot be read, this routine will write a short message to that effect to the given output stream (which means that this utility is safe to call under non-Linux operating systems, although it will of course be useless in such scenarios).

If `/proc/self/stat` can be read but contains unexpected information, the behaviour of this routine is undefined.

Python:\n This routine does not take any arguments; instead the
  stream out is assumed to be standard output.

Warning
  Currently this routine allows at most 255 characters for the comm field in `/proc/self/stat` (which stores the executable filename along with surrounding parentheses). If the comm field is too long (i.e., the executable filename is too long), then this routine will not be able to parse `/proc/self/stat`, and will write a note to this effect to the given output stream. If you encounter this problem, you should be able to fix it by renaming your executable to something shorter.

Parameters

  out | the output stream to which usage information will be written.

Copyright © 1999-2016, 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@maths.uq.edu.au).