 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 |
   GlobalArray | A template class that references a constant one-dimensional C++ array |
   GlobalArray2D | A template class that references a constant two-dimensional C++ array |
   GlobalArray3D | A template class that references a constant three-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 |
  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 |
  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 |
  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 |
  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 |
  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 |
  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 |
  NPosOrder | A comparison object that sorts hyperplanes by position vectors |
  NFile | Represents an old-style binary file containing a packet tree |
  NFileInfo | Stores information about a Regina data file, including file type and version |
  NFilePropertyReader | Assists with reading individual object properties from old-style binary data files |
  NGlobalDirs | Provides global routines that return directories in which various components of Regina are installed on the system |
  NRandomAccessResource | Provides a standard random access interface for old-style binary file-like resources |
  NLocalFileResource | A random access resource that is simply a local file |
  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 |
  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 |
  NLargeInteger | 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 |
  NContainer | A packet that simply contains other packets |
  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 |
  NPDF | A packet that can hold a PDF document |
  NScript | A packet representing a script that can be run |
  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 |
  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 |
  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 |
  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 faces 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 faces 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 |
  NNormalSurfaceVector | Stores the vector of a single normal surface in a 3-manifold |
  NNormalSurface | Represents a single normal surface in a 3-manifold |
  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 |
  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 |
  NNormalSurfaceVectorOriented | A normal surface vector using transversely oriented standard (triangle-quad) coordinates |
  NNormalSurfaceVectorOrientedQuad | A normal surface vector using transversely oriented quadrilateral coordinates |
  NNormalSurfaceVectorQuad | A normal surface vector using quad coordinates |
  NNormalSurfaceVectorQuadOct | An almost normal surface vector using quad-oct coordinates |
  NNormalSurfaceVectorStandard | A normal surface vector using standard triangle-quad coordinates |
  NSurfaceFilter | A packet that accepts or rejects normal surfaces |
  NSurfaceSet | Represents a collection of normal surfaces in a 3-manifold |
  NSurfaceSubset | Represents a subset of a normal surface set |
  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 |
  NSurfaceFilterCombination | A normal surface filter that simply combines other filters |
  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 triangulations of various types |
  NFaceEmbedding | Details how a face in the skeleton forms part of an individual tetrahedron |
  NFace | Represents a face in the skeleton of a triangulation |
  NFacePair | Represents a pair of tetrahedron face numbers |
  NFacetSpec | A lightweight class used to refer to a particular facet of a particular simplex in a triangulation |
  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 |
  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 |
  HashPointer | A hash function used to calculate hash values for arbitrary pointers |
  HashString | A hash function used to calculate hash values for C++ strings |
  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 |
  NIndexedArray | A dynamically resizable array of objects of type T with fast random access and fast object-to-index lookup |
  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 |
  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 |
  LessDeref | An adaptable binary function used to compare the objects to which pointers are pointing |
  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 |
 stdhash | The namespace containing hash_set , hash_map and other associated Standard Template Library extension classes |
 vector | |