Class List
Here are the classes, structs, unions and interfaces with brief descriptions:

regina | Contains the entire Regina calculation engine
boost | Miscellaneous utility classes taken or modified from the Boost C++ libraries
remove_pointer | A template class used to remove the indirection from a pointer type
reference_wrapper | A wrapper allowing references to be passed through generic functions
noncopyable | A base class that guarantees that derived classes cannot be copied
i18n | Various classes and routines for working with internationalisation and character encodings
Locale | A simple class with static routines for querying information about the current locale
IConvStreamBuffer | An output stream buffer that translates between character encodings
IConvStream | An output stream that converts between character encodings
python | Utility classes and routines to assist with Python bindings for the calculation engine
GlobalArray2D | A template class that references a constant two-dimensional C++ array
GlobalArray3D | A template class that references a constant three-dimensional C++ array
GlobalArray | A template class that references a constant one-dimensional C++ array
stl | Miscellaneous utility classes and routines taken or modified from the Standard Template Library
select1st | An adaptable unary function used to select the first element of a pair
select2nd | An adaptable unary function used to select the second element of a pair
unary_compose | An adaptable unary function used to compose two unary functions
xml | Various classes and routines for XML manipulation, some taken or modified from the libxml++ library
XMLPropertyDict | Represents a map from property names to property values
XMLParserCallback | Provides the callbacks for an XMLParser
XMLParser | Used to parse an entire XML file
NAbelianGroup | Represents a finitely generated abelian group
NGroupExpressionTerm | Represents a power of a generator in a group presentation
NGroupExpression | Represents an expression involving generators from a group presentation or a free group
NGroupPresentation | Represents a finite presentation of a group
NHomGroupPresentation | Represents a homomorphism between groups which are described via finite presentations
NMarkedAbelianGroup | Represents a finitely generated abelian group given by a chain complex
NHomMarkedAbelianGroup | Represents a homomorphism of finitely generated abelian groups
NXMLAbelianGroupReader | An XML element reader that reads a single abelian group
NXMLGroupPresentationReader | An XML element reader that reads a single group presentation
NAngleStructureVector | A vector of integers used to indirectly store the individual angles in an angle structure
NAngleStructure | Represents an angle structure on a triangulation
PacketInfo< PACKET_ANGLESTRUCTURELIST > | Stores information about the angle structure list packet
NAngleStructureList | A packet representing a collection of angle structures on a triangulation
StructureInserter | An output iterator used to insert angle structures into an NAngleStructureList
NXMLAngleStructureReader | An XML element reader that reads a single angle structure
NXMLAngleStructureListReader | An XML packet reader that reads a single angle structure list
Dim2Census | A utility class used to form a complete census of 2-manifold triangulations satisfying certain constraints
Dim2EdgePairing | Represents a specific pairwise matching of edges of triangles
Dim2GluingPerms | Represents a specific set of gluing permutations to complement a particular pairwise matching of triangle edges
Dim2GluingPermSearcher | A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing
NCensus | A utility class used to form a complete census of 3-manifold triangulations satisfying certain constraints
NFacePairing | Represents a specific pairwise matching of tetrahedron faces
NGenericFacetPairing | A dimension-agnostic base class that represents a pairwise matching of facets of dim-dimensional simplices
NGenericGluingPerms | A dimension-agnostic base class that represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets
NGluingPerms | Represents a specific set of gluing permutations to complement a particular pairwise matching of tetrahedron faces
NGluingPermSearcher | A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing
NEulerSearcher | A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic
TetEdgeState | A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed
TetVertexState | A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed
NCompactSearcher | A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required
TetEdgeState | A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed
TetVertexState | A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed
NClosedPrimeMinSearcher | 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
Dim2BoundaryComponent | Represents a component of the boundary of a 2-manifold triangulation
Dim2Component | Represents a component of a 2-manifold triangulation
Dim2EdgeEmbedding | Details how an edge in the 1-skeleton of a 2-manifold triangulation forms part of an individual triangle
Dim2Edge | Represents an edge in the 1-skeleton of a 2-manifold triangulation
Dim2ExampleTriangulation | This class offers routines for constructing sample 2-manifold triangulations of various types
Dim2Isomorphism | Represents a combinatorial isomorphism from one 2-manifold triangulation into another
Dim2Triangle | Represents a triangular face in a 2-manifold triangulation
PacketInfo< PACKET_DIM2TRIANGULATION > | Stores information about the 2-manifold triangulation packet
Dim2Triangulation | Stores the triangulation of a 2-manifold along with its various cellular structures and other information
Dim2VertexEmbedding | Details how a vertex in the skeleton of a 2-manifold triangulation forms part of an individual triangle
Dim2Vertex | Represents a vertex in the skeleton of a 2-manifold triangulation
NXMLDim2TriangulationReader | An XML packet reader that reads a single 2-manifold triangulation
NDoubleDescription | Implements a modified double description method for polytope vertex enumeration
NEnumConstraintList | Represents an individual validity constraint for use with polytope vertex enumeration
NHilbertCD | Implements a modified Contejean-Devie algorithm for enumerating Hilbert bases
NHilbertDual | Implements a modified dual algorithm for enumerating Hilbert bases
NHilbertPrimal | Implements a modified primal algorithm for enumerating Hilbert bases
NMaxAdmissible | Used to enumerate all maximal admissible faces of a polyhedral cone under a given set of admissibility constraints
LPMatrix | A matrix class for use with linear programming
LPConstraintBase | A base class for additional linear constraints that we can add to the tableaux of normal surface matching equations
Coefficients | Stores the extra coefficients in a single column for the nConstraints additional rows that we add to the tableaux to describe the nConstraints additional linear equations or inequalities
LPConstraintSubspace | A subclass of LPConstraintBase used for constraints defined entirely by homogeneous linear equations
LPConstraintNone | A do-nothing class that imposes no additional linear constraints on the tableaux of normal surface matching equations
Coefficients | Stores the extra coefficients in the tableaux associated with this constraint class (which for this class is a no-op, since in this case there are no extra coefficients)
LPConstraintEuler | A class that constraints the tableaux of normal surface matching equations to ensure that Euler characteristic is strictly positive
Coefficients | Stores the extra coefficients in the tableaux associated with this constraint class (in this case, one extra integer per column)
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)
Coefficients | Stores the extra coefficients in the tableaux associated with this constraint class (in this case, two extra integers per column)
BanConstraintBase | A base class for additional banning and marking constraints that we can place on tree traversal algorithms
BanNone | A do-nothing class that bans no disc types and marks no disc types
BanBoundary | A class that bans normal disc types that meet the boundary of the underlying triangulation
BanTorusBoundary | A class that bans and marks disc types associated with torus boundary components
LPInitialTableaux | Stores an adjusted matrix of matching equations from the underlying triangulation, in sparse form
Col | Stores a single column of the adjusted matching equation matrix in sparse form
LPData | Stores an intermediate tableaux for the dual simplex method, and contains all of the core machinery for using the dual simplex method
NTreeTraversal | A base class for searches that employ the tree traversal algorithm for enumerating and locating vertex normal surfaces
NTreeEnumeration | The main entry point for the tree traversal algorithm to enumerate all vertex normal or almost normal surfaces in a 3-manifold triangulation
NTreeSingleSoln | 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
NTypeTrie | A trie that stores a set of type vectors of a fixed length
NPosOrder | A comparison object that sorts hyperplanes by position vectors
NFileInfo | Stores information about a Regina data file, including file type and version
NGlobalDirs | Provides global routines that return directories in which various components of Regina are installed on the system
NXMLCallback | Provides the callbacks for an XMLParser required to parse an entire file using a series of NXMLElementReader objects
NXMLElementReader | Used to read the contents of a single XML element
NXMLCharsReader | A reader for an XML element that contains only characters
DimTraits | A template class that provides typedefs and other information about working in each of the supported dimensions
NFacetSpec | A lightweight class used to refer to a particular facet of a particular simplex in a triangulation
NGenericIsomorphism | A dimension-agnostic base class that represents a combinatorial isomorphism from one dim-manifold triangulation into another
NGenericTriangulation | A generic helper class for working with triangulations of arbitrary dimension
NGraphLoop | Represents a closed graph manifold formed by joining a single bounded Seifert fibred space to itself along a torus
NGraphPair | Represents a closed graph manifold formed by joining two bounded Seifert fibred spaces along a common torus
NGraphTriple | Represents a closed graph manifold formed by joining three bounded Seifert fibred spaces along their torus boundaries
NHandlebody | Represents an arbitrary handlebody
NLensSpace | Represents a general lens space
NManifold | Represents a particular 3-manifold
NSFSFibre | Represents an exceptional (alpha, beta) fibre in a Seifert fibred space
NSFSpace | Represents a general Seifert fibred space, which may be orientable or non-orientable
NSFSAltSet | Provides a variety of alternative representations of a single bounded Seifert fibred space
NSimpleSurfaceBundle | Represents a particularly simple closed surface bundle over the circle
NSnapPeaCensusManifold | Represents a 3-manifold from the SnapPea cusped census
NTorusBundle | Represents a torus bundle over the circle
NNativeInteger | A wrapper class for a native, fixed-precision integer type of the given size
InfinityBase | Internal base classes for use with NIntegerBase, templated on whether we should support infinity as an allowed value
NIntegerBase | Represents an arbitrary precision integer
NMatrix | Represents a matrix of elements of the given type T
NMatrixRing | Represents a matrix of elements from a given ring T
NMatrix2 | Represents a 2-by-2 integer matrix
NMatrixInt | Represents a matrix of arbitrary precision integers
NPerm3 | Represents a permutation of {0,1,2}
NPerm4 | Represents a permutation of {0,1,2,3}
NPerm5 | Represents a permutation of {0,1,2,3,4}
NPrimes | A helper class for finding primes and factorising integers
NRational | Represents an arbitrary precision rational number
NRay | A fast class for storing a ray rooted at the origin whose coordinates are rational
NVector | An optimised vector class of elements from a given ring T
PacketInfo< PACKET_CONTAINER > | Stores information about the container packet
NContainer | A packet that simply contains other packets
PacketInfo | A template that stores information about a particular type of packet
NPacket | Represents a packet of information that may be individually edited or operated upon
ChangeEventSpan | An object that facilitates firing packetToBeChanged() and packetWasChanged() events
NPacketListener | An object that can be registered to listen for packet events
PacketInfo< PACKET_PDF > | Stores information about the PDF packet
NPDF | A packet that can hold a PDF document
PacketInfo< PACKET_SCRIPT > | Stores information about the script packet
NScript | A packet representing a Python script that can be run
PacketInfo< PACKET_TEXT > | Stores information about the text packet
NText | A packet representing a text string
NXMLPacketReader | An XML element reader that reads the data for an individual packet
NXMLContainerReader | An XML packet reader that reads a single container
NXMLPDFReader | An XML packet reader that reads a single PDF packet
NXMLScriptReader | An XML packet reader that reads a single script
NXMLTextReader | An XML packet reader that reads a single text packet
NXMLTreeResolutionTask | An individual task for resolving dangling packet references after an XML data file has been read
NXMLTreeResolver | Provides a mechanism to resolve dangling packet references after a complete packet tree has been read from an XML data file
NProgress | An object through which external interfaces can obtain progress reports when running long calculations
NProgressFinished | A progress report that immediately claims it is finished
NProgressManager | Manages the sharing of an NProgress object between reading and writing threads
NProgressTracker | Manages progress tracking and cancellation polling for long operations
NProgressMessage | A progress report in which the current state of progress is stored as a string message
NProgressStateNumeric | A simple structure used for passing around a numeric state of progress
NProgressNumber | A progress report in which the current state of progress is stored as a number of items completed
ShareableObject | 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)
NSnapPeaTriangulation | Offers direct access to the SnapPea kernel from within Regina
NSigCensus | A utility class used by formSigCensus()
NSigPartialIsomorphism | Represents a partial isomorphism between two splitting surface signatures
NSignature | Represents a signature of a splitting surface in a closed 3-manifold triangulation
NAugTriSolidTorus | Represents an augmented triangular solid torus component of a triangulation
NBlockedSFS | Represents a blocked Seifert fibred space (possibly with boundary)
NBlockedSFSLoop | Represents a blocked Seifert fibred space with two boundary tori that are joined together
NBlockedSFSPair | Represents a blocked pair of Seifert fibred spaces joined along a single connecting torus
NBlockedSFSTriple | Represents a blocked sequence of three Seifert fibred spaces joined along connecting tori
NL31Pillow | Represents a triangular pillow L(3,1) component of a triangulation
NLayeredChain | Represents a layered chain in a triangulation
NLayeredChainPair | Represents a layered chain pair component of a triangulation
NLayeredLensSpace | Represents a layered lens space component of a triangulation
NLayeredLoop | Represents a layered loop component of a triangulation
NLayeredSolidTorus | Represents a layered solid torus in a triangulation
NLayeredTorusBundle | Describes a layered torus bundle
NLayering | Represents a layering of zero or more tetrahedra upon a torus boundary
NPillowTwoSphere | Represents a 2-sphere made from two triangles glued together along their three edges
NPluggedTorusBundle | 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
NPlugTriSolidTorus | Represents a plugged triangular solid torus component of a triangulation
NSatAnnulus | Represents an annulus formed from a pair of triangles in a Seifert fibred space
NSatBlock | Represents a saturated block in a Seifert fibred space
NSatBlockStarter | Contains a triangulation of a saturated block along with the accompanying saturated block description
NSatBlockStarterSet | Represents a set of starter blocks that can be used for identifying triangulations of Seifert fibred spaces
NSatBlockStarterSearcher | A helper class for locating and using starter blocks within a triangulation
NSatMobius | A degenerate zero-tetrahedron saturated block that corresponds to attaching a Mobius band to a single annulus boundary
NSatLST | A saturated block that is a layered solid torus
NSatTriPrism | A saturated block that is a three-tetrahedron triangular prism
NSatCube | A saturated block that is a six-tetrahedron cube
NSatReflectorStrip | A saturated block that is a reflector strip
NSatLayering | A degenerate saturated block that is a single tetrahedron wrapped around so that two opposite edges touch
NSatBlockSpec | Describes how a single saturated block forms a part of a larger saturated region
NSatRegion | A large saturated region in a Seifert fibred space formed by joining together saturated blocks
NSnapPeaCensusTri | Represents a 3-manifold triangulation from the SnapPea cusped census
NSnappedBall | Represents a snapped 3-ball in a triangulation
NSnappedTwoSphere | Represents a 2-sphere made from two snapped 3-balls in a triangulation
NSpiralSolidTorus | Represents a spiralled solid torus in a triangulation
NStandardTriangulation | Describes a triangulation or subcomplex of a triangulation whose structure is well-understood
NTriSolidTorus | Represents a three-tetrahedron triangular solid torus in a triangulation
NTrivialTri | Represents one of a few particular hard-coded trivial triangulations that do not belong to any of the other larger families
NTxICore | Provides a triangulation of the product `T x I` (the product of the torus and the interval)
NTxIDiagonalCore | One of a family of thin `T x I` triangulations that typically appear at the centres of layered torus bundles
NTxIParallelCore | A specific six-tetrahedron NTxICore triangulation that does not fit neatly into other families
NDiscSpec | Specifies a single normal disc in a normal surface
NDiscSetTet | Represents a set of normal discs inside a single tetrahedron
NDiscSetTetData | Stores data of type `T` for every normal disc inside a single tetrahedron
NDiscSetSurface | Represents the set of all normal discs forming a normal surface
NDiscSetSurfaceData | Stores data of type `T` for every normal disc within a particular normal surface
NDiscSpecIterator | An iterator used for running through all normal discs in a normal surface
NDiscType | Identifies a single normal or almost normal disc type within a triangulation
NormalInfo | A template that stores information about a particular normal coordinate system
NNormalSurfaceVector | Stores the vector of a single normal surface in a 3-manifold
NNormalSurface | Represents a single normal surface in a 3-manifold
PacketInfo< PACKET_NORMALSURFACELIST > | Stores information about the normal surface list packet
NNormalSurfaceList | A packet representing a collection of normal surfaces in a 3-manifold
SurfaceInserter | An output iterator used to insert surfaces into an NNormalSurfaceList
VectorIterator | A bidirectional iterator that runs through the raw vectors for surfaces in this list
NPrismSpec | Specifies a single triangular prism in a tetrahedron
NPrismSetSurface | Represents the set of prisms defined by slicing along all the quads in a particular normal surface
NormalInfo< NS_AN_STANDARD > | Stores information about standard almost normal coordinates
NNormalSurfaceVectorANStandard | An almost normal surface vector using standard triangle-quad-oct coordinates
NNormalSurfaceVectorMirrored | A normal surface vector that is mirrored in another coordinate system to avoid frequent lengthy calculations
NormalInfo< NS_ORIENTED > | Stores information about transversely oriented standard normal coordinates
NNormalSurfaceVectorOriented | A normal surface vector using transversely oriented standard (triangle-quad) coordinates
NormalInfo< NS_ORIENTED_QUAD > | Stores information about transversely oriented quad normal coordinates
NNormalSurfaceVectorOrientedQuad | A normal surface vector using transversely oriented quadrilateral coordinates
NormalInfo< NS_QUAD > | Stores information about quad normal coordinates
NNormalSurfaceVectorQuad | A normal surface vector using quad coordinates
NormalInfo< NS_AN_QUAD_OCT > | Stores information about quad-oct almost normal coordinates
NNormalSurfaceVectorQuadOct | An almost normal surface vector using quad-oct coordinates
NormalInfo< NS_STANDARD > | Stores information about standard normal coordinates
NNormalSurfaceVectorStandard | A normal surface vector using standard triangle-quad coordinates
SurfaceFilterInfo | A template that stores information about a particular type of normal surface filter
PacketInfo< PACKET_SURFACEFILTER > | Stores information about the normal surface filter packet type
SurfaceFilterInfo< NS_FILTER_DEFAULT > | Stores information about the default accept-all surface filter
NSurfaceFilter | A packet that accepts or rejects normal surfaces
NSurfaceSubset | Represents a subset of a normal surface list
NXMLFilterReader | An XML element reader that reads the specific details of a normal surface filter
NXMLFilterPacketReader | An XML packet reader that reads a single surface filter
NXMLNormalSurfaceReader | An XML element reader that reads a single normal surface
NXMLNormalSurfaceListReader | An XML packet reader that reads a single normal surface list
SurfaceFilterInfo< NS_FILTER_COMBINATION > | Stores information about the combination surface filter
NSurfaceFilterCombination | A normal surface filter that simply combines other filters
SurfaceFilterInfo< NS_FILTER_PROPERTIES > | Stores information about the property-based surface filter
NSurfaceFilterProperties | A normal surface filter that filters by basic properties of the normal surface
NBoundaryComponent | Represents a component of the boundary of a triangulation
NComponent | Represents a component of a triangulation
NEdgeEmbedding | Details how an edge in the skeleton forms part of an individual tetrahedron
NEdge | Represents an edge in the skeleton of a triangulation
NExampleTriangulation | This class offers routines for constructing sample 3-manifold triangulations of various types
NFacePair | Represents a pair of tetrahedron face numbers
NHomologicalData | Data type that deals with all the detailed homological information in a manifold
NIsomorphism | Represents a combinatorial isomorphism from one triangulation into another
NIsomorphismDirect | A deprecated synonym for NIsomorphism, provided for backward compatibility only
NPermItS4 | An iterator class that runs through all 24 permutations of four elements
NTetrahedron | Represents a tetrahedron in a triangulation
NTriangleEmbedding | Details how a triangle in the skeleton forms part of an individual tetrahedron
NTriangle | Represents a triangle in the skeleton of a triangulation
PacketInfo< PACKET_TRIANGULATION > | Stores information about the 3-manifold triangulation packet
NTriangulation | Stores the triangulation of a 3-manifold along with its various cellular structures and other information
NVertexEmbedding | Details how a vertex in the skeleton forms part of an individual tetrahedron
NVertex | Represents a vertex in the skeleton of a triangulation
NXMLTriangulationReader | An XML packet reader that reads a single triangulation
GenericBitManipulator | A generic class for bitwise analysis and manipulation of native data types
BitManipulator | An optimised class for bitwise analysis and manipulation of native data types
Flags | A class representing a bitwise combination of flags defined by an enumeration type
IntOfSize | Gives access to k-byte integer types, where k is a constant that is not known until compile time
FuncNew | An adaptable generator used to create objects using default constructors
FuncNewCopyPtr | An adaptable unary function used to create objects using copy constructors
FuncNewCopyRef | An adaptable unary function used to create objects using copy constructors
FuncNewClonePtr | An adaptable unary function used to create objects using the `clone()` method
FuncDelete | An adaptable unary function used to deallocate objects
NBitmask | A bitmask that can store arbitrarily many true-or-false bits
NBitmask1 | A small but extremely fast bitmask class that can store up to 8 * sizeof(T) true-or-false bits
NBitmask2 | A small but extremely fast bitmask class that can store up to 8 * sizeof(T) + 8 * sizeof(U) true-or-false bits
NTriBool | A three-way extension of the boolean type
NTriBool_Illegal_Integer_Conversion | An exception thrown when an illegal integer conversion is attempted with NTriBool
NBoolSet | A set of booleans
NListOnCall | Offers a hard-coded list of expensive objects that should only be created if they are required
NMarkedElement | A base class for elements of NMarkedVector
NMarkedVector | A vector of objects with fast, space-efficient reverse lookup of array indices
StoreValue | An NProperty storage policy indicating that the property should be held by value
StoreConstPtr | An NProperty storage policy indicating that the property should be held by constant pointer
StoreManagedPtr | An NProperty storage policy indicating that the property should be held by pointer and that the property wrapper will also take responsibility for memory management
NPropertyBase | A base class that provides routines shared by all properties, regardless of their individual NProperty template parameters
NProperty | Stores a calculable property of an object
NQitmask1 | 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
NQitmask2 | 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
NMutex | A mutual exclusion device (mutex) used to ensure that different threads do not interfere when working with the same data
MutexLock | A utility class for locking and unlocking a mutex
NThread | Provides very basic thread handling
NTrieSet | A trie-like data structure for storing and retriving sets
NTritmask1 | A small but extremely fast "ternary bitmask" class that can store up to 8 * sizeof(T) "trits", each equal to 0, 1 or 2
NTritmask2 | 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
LessDeref | An adaptable binary function used to compare the objects to which pointers are pointing
Returns | A convenience base class for a function object, which does nothing beyond provide a ReturnType typedef
NewFunction1 | A function object that creates a new object subclassed from Base, where the particular subclass is chosen according to the template argument to operator()
ZBuffer | A common base class for compression/decompression stream buffers
CompressionBuffer | An output stream buffer that compresses data as it is written
DecompressionBuffer | An input stream buffer that decompresses data as it is read
CompressionStream | An output stream that compresses data as it is written
DecompressionStream | An input stream that decompresses data as it is read

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