| ►Nregina | Contains the entire Regina calculation engine |
| ►Nboost | Miscellaneous utility classes taken or modified from the Boost C++ libraries |
| Cnoncopyable | A base class that guarantees that derived classes cannot be copied |
| Creference_wrapper | A wrapper allowing references to be passed through generic functions |
| Cremove_pointer | A template class used to remove the indirection from a pointer type |
| ►Ni18n | Various classes and routines for working with internationalisation and character encodings |
| CIConvStream | An output stream that converts between character encodings |
| CIConvStreamBuffer | An output stream buffer that translates between character encodings |
| CLocale | A simple class with static routines for querying information about the current locale |
| ►Npython | Utility classes and routines to assist with Python bindings for the calculation engine |
| CGlobalArray | A template class that references a constant one-dimensional C++ array |
| CGlobalArray2D | A template class that references a constant two-dimensional C++ array |
| CGlobalArray3D | A template class that references a constant three-dimensional C++ array |
| ►Nstl | Miscellaneous utility classes and routines taken or modified from the Standard Template Library |
| Cselect1st | An adaptable unary function used to select the first element of a pair |
| Cselect2nd | An adaptable unary function used to select the second element of a pair |
| Cunary_compose | An adaptable unary function used to compose two unary functions |
| ►Nxml | Various classes and routines for XML manipulation, some taken or modified from the libxml++ library |
| CXMLParser | Used to parse an entire XML file |
| CXMLParserCallback | Provides the callbacks for an XMLParser |
| CXMLPropertyDict | Represents a map from property names to property values |
| CBanBoundary | A class that bans normal disc types that meet the boundary of the underlying triangulation |
| CBanConstraintBase | A base class for additional banning and marking constraints that we can place on tree traversal algorithms |
| CBanNone | A do-nothing class that bans no coordinates and marks no coordinates |
| CBanTorusBoundary | A class that bans and marks disc types associated with torus boundary components |
| CBitManipulator | An optimised class for bitwise analysis and manipulation of native data types |
| CCompressionBuffer | An output stream buffer that compresses data as it is written |
| CCompressionStream | An output stream that compresses data as it is written |
| CDecompressionBuffer | An input stream buffer that decompresses data as it is read |
| CDecompressionStream | An input stream that decompresses data as it is read |
| CDim2BoundaryComponent | Represents a component of the boundary of a 2-manifold triangulation |
| CDim2Census | A utility class used to search for triangulations across one or more 2-manifold census databases |
| CDim2Component | Represents a component of a 2-manifold triangulation |
| CDim2Edge | Represents an edge in the 1-skeleton of a 2-manifold triangulation |
| CDim2EdgeEmbedding | Details how an edge in the 1-skeleton of a 2-manifold triangulation forms part of an individual triangle |
| CDim2EdgePairing | Represents a specific pairwise matching of edges of triangles |
| CDim2ExampleTriangulation | This class offers routines for constructing sample 2-manifold triangulations of various types |
| CDim2GluingPerms | Represents a specific set of gluing permutations to complement a particular pairwise matching of triangle edges |
| CDim2GluingPermSearcher | A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing |
| CDim2Isomorphism | Represents a combinatorial isomorphism from one 2-manifold triangulation into another |
| CDim2Triangle | Represents a triangular face in a 2-manifold triangulation |
| CDim2Triangulation | Stores the triangulation of a 2-manifold along with its various cellular structures and other information |
| CDim2Vertex | Represents a vertex in the skeleton of a 2-manifold triangulation |
| CDim2VertexEmbedding | Details how a vertex in the skeleton of a 2-manifold triangulation forms part of an individual triangle |
| CDimTraits | A template class that provides typedefs and other information about working in each of the supported dimensions |
| CFlags | A class representing a bitwise combination of flags defined by an enumeration type |
| CFuncDelete | An adaptable unary function used to deallocate objects |
| CFuncNew | An adaptable generator used to create objects using default constructors |
| CFuncNewClonePtr | An adaptable unary function used to create objects using the clone() method |
| CFuncNewCopyPtr | An adaptable unary function used to create objects using copy constructors |
| CFuncNewCopyRef | An adaptable unary function used to create objects using copy constructors |
| CGenericBitManipulator | A generic class for bitwise analysis and manipulation of native data types |
| CInfinityBase | Internal base classes for use with NIntegerBase, templated on whether we should support infinity as an allowed value |
| CIntOfSize | Gives access to k-byte integer types, where k is a constant that is not known until compile time |
| CLessDeref | An adaptable binary function used to compare the objects to which pointers are pointing |
| ►CLPConstraintBase | A base class for additional linear constraints that we can add to the tableaux of normal surface or angle structure matching equations |
| CCoefficients | 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 |
| ►CLPConstraintEuler | A class that constraints the tableaux of normal surface matching equations to ensure that Euler characteristic is strictly positive |
| CCoefficients | Stores the extra coefficients in the tableaux associated with this constraint class (in this case, one extra integer per column) |
| ►CLPConstraintNone | A do-nothing class that imposes no additional linear constraints on the tableaux of normal surface or angle structure matching equations |
| CCoefficients | 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) |
| ►CLPConstraintNonSpun | 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) |
| CCoefficients | Stores the extra coefficients in the tableaux associated with this constraint class (in this case, two extra integers per column) |
| CLPConstraintSubspace | A subclass of LPConstraintBase used for constraints defined entirely by homogeneous linear equations |
| CLPData | Stores an intermediate tableaux for the dual simplex method, and contains all of the core machinery for using the dual simplex method |
| ►CLPInitialTableaux | Stores an adjusted matrix of homogeneous linear matching equations based on a given triangulation, in sparse form |
| CCol | Stores a single column of the adjusted matching equation matrix in sparse form |
| CLPMatrix | A matrix class for use with linear programming |
| CNAbelianGroup | Represents a finitely generated abelian group |
| CNAngleStructure | Represents an angle structure on a triangulation |
| ►CNAngleStructureList | A packet representing a collection of angle structures on a triangulation |
| CStructureInserter | An output iterator used to insert angle structures into an NAngleStructureList |
| CNAngleStructureVector | A vector of integers used to indirectly store the individual angles in an angle structure |
| CNAugTriSolidTorus | Represents an augmented triangular solid torus component of a triangulation |
| CNBitmask | A bitmask that can store arbitrarily many true-or-false bits |
| CNBitmask1 | A small but extremely fast bitmask class that can store up to 8 * sizeof(T) true-or-false bits |
| CNBitmask2 | A small but extremely fast bitmask class that can store up to 8 * sizeof(T) + 8 * sizeof(U) true-or-false bits |
| CNBlockedSFS | Represents a blocked Seifert fibred space (possibly with boundary) |
| CNBlockedSFSLoop | Represents a blocked Seifert fibred space with two boundary tori that are joined together |
| CNBlockedSFSPair | Represents a blocked pair of Seifert fibred spaces joined along a single connecting torus |
| CNBlockedSFSTriple | Represents a blocked sequence of three Seifert fibred spaces joined along connecting tori |
| CNBoolSet | A set of booleans |
| CNBoundaryComponent | Represents a component of the boundary of a triangulation |
| CNCensus | A utility class used to search for triangulations across one or more 3-manifold census databases |
| CNCensusDB | Stores the location and description of one of Regina's in-built census databases |
| CNCensusHit | Stores a single "hit" indicating that some given triangulation has been located in one of Regina's in-built census databases |
| CNCensusHits | 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 |
| CNClosedPrimeMinSearcher | 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 |
| ►CNCompactSearcher | A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required |
| CTetEdgeState | A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed |
| CTetVertexState | A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed |
| CNComponent | Represents a component of a triangulation |
| CNContainer | A packet that simply contains other packets |
| CNCusp | Represents a single cusp of a SnapPea triangulation |
| CNDiscSetSurface | Represents the set of all normal discs forming a normal surface |
| CNDiscSetSurfaceData | Stores data of type T for every normal disc within a particular normal surface |
| CNDiscSetTet | Represents a set of normal discs inside a single tetrahedron |
| CNDiscSetTetData | Stores data of type T for every normal disc inside a single tetrahedron |
| CNDiscSpec | Specifies a single normal disc in a normal surface |
| CNDiscSpecIterator | An iterator used for running through all normal discs in a normal surface |
| CNDiscType | Identifies a single normal or almost normal disc type within a triangulation |
| CNDoubleDescription | Implements a modified double description method for polytope vertex enumeration |
| CNEdge | Represents an edge in the skeleton of a triangulation |
| CNEdgeEmbedding | Details how an edge in the skeleton forms part of an individual tetrahedron |
| CNEnumConstraintList | Represents an individual validity constraint for use with polytope vertex enumeration |
| ►CNEulerSearcher | A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic |
| CTetEdgeState | A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed |
| CTetVertexState | A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed |
| CNewFunction1 | A function object that creates a new object subclassed from Base, where the particular subclass is chosen according to the template argument to operator() |
| CNExampleTriangulation | This class offers routines for constructing sample 3-manifold triangulations of various types |
| CNFacePair | Represents a pair of tetrahedron face numbers |
| CNFacePairing | Represents a specific pairwise matching of tetrahedron faces |
| CNFacetSpec | A lightweight class used to refer to a particular facet of a particular simplex in a triangulation |
| CNFileInfo | Stores information about a Regina data file, including file type and version |
| CNGenericFacetPairing | A dimension-agnostic base class that represents a pairwise matching of facets of dim-dimensional simplices |
| CNGenericGluingPerms | A dimension-agnostic base class that represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets |
| CNGenericIsomorphism | A dimension-agnostic base class that represents a combinatorial isomorphism from one dim-manifold triangulation into another |
| CNGenericTriangulation | A generic helper class for working with triangulations of arbitrary dimension |
| CNGlobalDirs | Provides global routines that return directories in which various components of Regina are installed on the system |
| CNGluingPerms | Represents a specific set of gluing permutations to complement a particular pairwise matching of tetrahedron faces |
| CNGluingPermSearcher | A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing |
| CNGraphLoop | Represents a closed graph manifold formed by joining a single bounded Seifert fibred space to itself along a torus |
| CNGraphPair | Represents a closed graph manifold formed by joining two bounded Seifert fibred spaces along a common torus |
| CNGraphTriple | Represents a closed graph manifold formed by joining three bounded Seifert fibred spaces along their torus boundaries |
| CNGroupExpression | Represents an expression involving generators from a group presentation or a free group |
| CNGroupExpressionTerm | Represents a power of a generator in a group presentation |
| CNGroupPresentation | Represents a finite presentation of a group |
| CNHandlebody | Represents an arbitrary handlebody |
| CNHilbertCD | Implements a modified Contejean-Devie algorithm for enumerating Hilbert bases |
| CNHilbertDual | Implements a modified dual algorithm for enumerating Hilbert bases |
| CNHilbertPrimal | Implements a modified primal algorithm for enumerating Hilbert bases |
| CNHomGroupPresentation | Represents a homomorphism between groups which are described via finite presentations |
| CNHomMarkedAbelianGroup | Represents a homomorphism of finitely generated abelian groups |
| CNHomologicalData | Data type that deals with all the detailed homological information in a manifold |
| CNHyperbolicMinSearcher | 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 |
| CNIntegerBase | Represents an arbitrary precision integer |
| CNIsomorphism | Represents a combinatorial isomorphism from one triangulation into another |
| CNIsomorphismDirect | A deprecated synonym for NIsomorphism, provided for backward compatibility only |
| CNL31Pillow | Represents a triangular pillow L(3,1) component of a triangulation |
| CNLayeredChain | Represents a layered chain in a triangulation |
| CNLayeredChainPair | Represents a layered chain pair component of a triangulation |
| CNLayeredLensSpace | Represents a layered lens space component of a triangulation |
| CNLayeredLoop | Represents a layered loop component of a triangulation |
| CNLayeredSolidTorus | Represents a layered solid torus in a triangulation |
| CNLayeredTorusBundle | Describes a layered torus bundle |
| CNLayering | Represents a layering of zero or more tetrahedra upon a torus boundary |
| CNLensSpace | Represents a general lens space |
| CNListOnCall | Offers a hard-coded list of expensive objects that should only be created if they are required |
| CNManifold | Represents a particular 3-manifold |
| CNMarkedAbelianGroup | Represents a finitely generated abelian group given by a chain complex |
| CNMarkedElement | A base class for elements of NMarkedVector |
| CNMarkedVector | A vector of objects with fast, space-efficient reverse lookup of array indices |
| CNMatrix | Represents a matrix of elements of the given type T |
| CNMatrix2 | Represents a 2-by-2 integer matrix |
| CNMatrixInt | Represents a matrix of arbitrary precision integers |
| CNMatrixRing | Represents a matrix of elements from a given ring T |
| CNMaxAdmissible | Used to enumerate all maximal admissible faces of a polyhedral cone under a given set of admissibility constraints |
| ►CNMutex | A mutual exclusion device (mutex) used to ensure that different threads do not interfere when working with the same data |
| CMutexLock | A utility class for locking and unlocking a mutex |
| CNNativeInteger | A wrapper class for a native, fixed-precision integer type of the given size |
| CNNormalSurface | Represents a single normal surface in a 3-manifold |
| ►CNNormalSurfaceList | A packet representing a collection of normal surfaces in a 3-manifold |
| CSurfaceInserter | An output iterator used to insert surfaces into an NNormalSurfaceList |
| CVectorIterator | A bidirectional iterator that runs through the raw vectors for surfaces in this list |
| CNNormalSurfaceVector | Stores the vector of a single normal surface in a 3-manifold |
| CNNormalSurfaceVectorANStandard | An almost normal surface vector using standard triangle-quad-oct coordinates |
| CNNormalSurfaceVectorMirrored | A normal surface vector that is mirrored in another coordinate system to avoid frequent lengthy calculations |
| CNNormalSurfaceVectorOriented | A normal surface vector using transversely oriented standard (triangle-quad) coordinates |
| CNNormalSurfaceVectorOrientedQuad | A normal surface vector using transversely oriented quadrilateral coordinates |
| CNNormalSurfaceVectorQuad | A normal surface vector using quad coordinates |
| CNNormalSurfaceVectorQuadOct | An almost normal surface vector using quad-oct coordinates |
| CNNormalSurfaceVectorStandard | A normal surface vector using standard triangle-quad coordinates |
| CNormalInfo | A template that stores information about a particular normal coordinate system |
| CNormalInfo< NS_AN_QUAD_OCT > | Stores information about quad-oct almost normal coordinates |
| CNormalInfo< NS_AN_STANDARD > | Stores information about standard almost normal coordinates |
| CNormalInfo< NS_ORIENTED > | Stores information about transversely oriented standard normal coordinates |
| CNormalInfo< NS_ORIENTED_QUAD > | Stores information about transversely oriented quad normal coordinates |
| CNormalInfo< NS_QUAD > | Stores information about quad normal coordinates |
| CNormalInfo< NS_STANDARD > | Stores information about standard normal coordinates |
| ►CNPacket | Represents a packet of information that may be individually edited or operated upon |
| CChangeEventSpan | An object that facilitates firing packetToBeChanged() and packetWasChanged() events |
| CNPacketListener | An object that can be registered to listen for packet events |
| CNPDF | A packet that can hold a PDF document |
| CNPerm3 | Represents a permutation of {0,1,2} |
| CNPerm4 | Represents a permutation of {0,1,2,3} |
| CNPerm5 | Represents a permutation of {0,1,2,3,4} |
| CNPermItS4 | An iterator class that runs through all 24 permutations of four elements |
| CNPillowTwoSphere | Represents a 2-sphere made from two triangles glued together along their three edges |
| CNPluggedTorusBundle | 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 |
| CNPlugTriSolidTorus | Represents a plugged triangular solid torus component of a triangulation |
| CNPosOrder | A comparison object that sorts hyperplanes by position vectors |
| CNPrimes | A helper class for finding primes and factorising integers |
| CNPrismSetSurface | Represents the set of prisms defined by slicing along all the quads in a particular normal surface |
| CNPrismSpec | Specifies a single triangular prism in a tetrahedron |
| CNProgress | An object through which external interfaces can obtain progress reports when running long calculations |
| CNProgressFinished | A progress report that immediately claims it is finished |
| CNProgressManager | Manages the sharing of an NProgress object between reading and writing threads |
| CNProgressMessage | A progress report in which the current state of progress is stored as a string message |
| CNProgressNumber | A progress report in which the current state of progress is stored as a number of items completed |
| CNProgressStateNumeric | A simple structure used for passing around a numeric state of progress |
| CNProgressTracker | Manages progress tracking and cancellation polling for long operations |
| CNProperty | Stores a calculable property of an object |
| CNPropertyBase | A base class that provides routines shared by all properties, regardless of their individual NProperty template parameters |
| CNQitmask1 | 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 |
| CNQitmask2 | 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 |
| CNRational | Represents an arbitrary precision rational number |
| CNRay | A fast class for storing a ray rooted at the origin whose coordinates are rational |
| CNSatAnnulus | Represents an annulus formed from a pair of triangles in a Seifert fibred space |
| CNSatBlock | Represents a saturated block in a Seifert fibred space |
| CNSatBlockSpec | Describes how a single saturated block forms a part of a larger saturated region |
| CNSatBlockStarter | Contains a triangulation of a saturated block along with the accompanying saturated block description |
| CNSatBlockStarterSearcher | A helper class for locating and using starter blocks within a triangulation |
| CNSatBlockStarterSet | Represents a set of starter blocks that can be used for identifying triangulations of Seifert fibred spaces |
| CNSatCube | A saturated block that is a six-tetrahedron cube |
| CNSatLayering | A degenerate saturated block that is a single tetrahedron wrapped around so that two opposite edges touch |
| CNSatLST | A saturated block that is a layered solid torus |
| CNSatMobius | A degenerate zero-tetrahedron saturated block that corresponds to attaching a Mobius band to a single annulus boundary |
| CNSatReflectorStrip | A saturated block that is a reflector strip |
| CNSatRegion | A large saturated region in a Seifert fibred space formed by joining together saturated blocks |
| CNSatTriPrism | A saturated block that is a three-tetrahedron triangular prism |
| CNScript | A packet representing a Python script that can be run |
| CNSFSAltSet | Provides a variety of alternative representations of a single bounded Seifert fibred space |
| CNSFSFibre | Represents an exceptional (alpha, beta) fibre in a Seifert fibred space |
| CNSFSpace | Represents a general Seifert fibred space, which may be orientable or non-orientable |
| CNSigCensus | A utility class used by formSigCensus() |
| CNSignature | Represents a signature of a splitting surface in a closed 3-manifold triangulation |
| CNSigPartialIsomorphism | Represents a partial isomorphism between two splitting surface signatures |
| CNSimpleSurfaceBundle | Represents a particularly simple closed surface bundle over the circle |
| CNSnapPeaCensusManifold | Represents a 3-manifold from the SnapPea cusped census |
| CNSnapPeaCensusTri | Represents a 3-manifold triangulation from the SnapPea cusped census |
| CNSnapPeaTriangulation | Offers direct access to the SnapPea kernel from within Regina |
| CNSnappedBall | Represents a snapped 3-ball in a triangulation |
| CNSnappedTwoSphere | Represents a 2-sphere made from two snapped 3-balls in a triangulation |
| CNSpiralSolidTorus | Represents a spiralled solid torus in a triangulation |
| CNStandardTriangulation | Describes a triangulation or subcomplex of a triangulation whose structure is well-understood |
| CNSurfaceFilter | A packet that accepts or rejects normal surfaces |
| CNSurfaceFilterCombination | A normal surface filter that simply combines other filters |
| CNSurfaceFilterProperties | A normal surface filter that filters by basic properties of the normal surface |
| CNSurfaceSubset | Represents a subset of a normal surface list |
| CNTautEnumeration | The main entry point for the tree traversal algorithm to enumerate all taut angle structures in a 3-manifold triangulation |
| CNTetrahedron | Represents a tetrahedron in a triangulation |
| CNText | A packet representing a text string |
| CNThread | Provides very basic thread handling |
| CNTorusBundle | Represents a torus bundle over the circle |
| CNTreeEnumeration | The main entry point for the tree traversal algorithm to enumerate all vertex normal or almost normal surfaces in a 3-manifold triangulation |
| CNTreeSingleSoln | 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 |
| CNTreeTraversal | A base class for searches that employ the tree traversal algorithm for enumerating and locating vertex normal surfaces and taut angle structures |
| CNTriangle | Represents a triangle in the skeleton of a triangulation |
| CNTriangleEmbedding | Details how a triangle in the skeleton forms part of an individual tetrahedron |
| CNTriangulation | Stores the triangulation of a 3-manifold along with its various cellular structures and other information |
| CNTriBool | A three-way extension of the boolean type |
| CNTriBool_Illegal_Integer_Conversion | An exception thrown when an illegal integer conversion is attempted with NTriBool |
| CNTrieSet | A trie-like data structure for storing and retriving sets |
| CNTriSolidTorus | Represents a three-tetrahedron triangular solid torus in a triangulation |
| CNTritmask1 | A small but extremely fast "ternary bitmask" class that can store up to 8 * sizeof(T) "trits", each equal to 0, 1 or 2 |
| CNTritmask2 | 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 |
| CNTrivialTri | Represents one of a few particular hard-coded trivial triangulations that do not belong to any of the other larger families |
| CNTxICore | Provides a triangulation of the product T x I (the product of the torus and the interval) |
| CNTxIDiagonalCore | One of a family of thin T x I triangulations that typically appear at the centres of layered torus bundles |
| CNTxIParallelCore | A specific six-tetrahedron NTxICore triangulation that does not fit neatly into other families |
| CNTypeTrie | A trie that stores a set of type vectors of a fixed length |
| CNVector | An optimised vector class of elements from a given ring T |
| CNVertex | Represents a vertex in the skeleton of a triangulation |
| CNVertexEmbedding | Details how a vertex in the skeleton forms part of an individual tetrahedron |
| CNXMLAbelianGroupReader | An XML element reader that reads a single abelian group |
| CNXMLAngleStructureListReader | An XML packet reader that reads a single angle structure list |
| CNXMLAngleStructureReader | An XML element reader that reads a single angle structure |
| CNXMLCallback | Provides the callbacks for an XMLParser required to parse an entire file using a series of NXMLElementReader objects |
| CNXMLCharsReader | A reader for an XML element that contains only characters |
| CNXMLContainerReader | An XML packet reader that reads a single container |
| CNXMLDim2TriangulationReader | An XML packet reader that reads a single 2-manifold triangulation |
| CNXMLElementReader | Used to read the contents of a single XML element |
| CNXMLFilterPacketReader | An XML packet reader that reads a single surface filter |
| CNXMLFilterReader | An XML element reader that reads the specific details of a normal surface filter |
| CNXMLGroupPresentationReader | An XML element reader that reads a single group presentation |
| CNXMLNormalSurfaceListReader | An XML packet reader that reads a single normal surface list |
| CNXMLNormalSurfaceReader | An XML element reader that reads a single normal surface |
| CNXMLPacketReader | An XML element reader that reads the data for an individual packet |
| CNXMLPDFReader | An XML packet reader that reads a single PDF packet |
| CNXMLScriptReader | An XML packet reader that reads a single script |
| CNXMLSnapPeaReader | An XML packet reader that reads a single SnapPea triangulation |
| CNXMLTextReader | An XML packet reader that reads a single text packet |
| CNXMLTreeResolutionTask | An individual task for resolving dangling packet references after an XML data file has been read |
| CNXMLTreeResolver | Provides a mechanism to resolve dangling packet references after a complete packet tree has been read from an XML data file |
| CNXMLTriangulationReader | An XML packet reader that reads a single triangulation |
| CPacketInfo | A template that stores information about a particular type of packet |
| CPacketInfo< PACKET_ANGLESTRUCTURELIST > | Stores information about the angle structure list packet |
| CPacketInfo< PACKET_CONTAINER > | Stores information about the container packet |
| CPacketInfo< PACKET_DIM2TRIANGULATION > | Stores information about the 2-manifold triangulation packet |
| CPacketInfo< PACKET_NORMALSURFACELIST > | Stores information about the normal surface list packet |
| CPacketInfo< PACKET_PDF > | Stores information about the PDF packet |
| CPacketInfo< PACKET_SCRIPT > | Stores information about the script packet |
| CPacketInfo< PACKET_SNAPPEATRIANGULATION > | Stores information about the SnapPea triangulation packet |
| CPacketInfo< PACKET_SURFACEFILTER > | Stores information about the normal surface filter packet type |
| CPacketInfo< PACKET_TEXT > | Stores information about the text packet |
| CPacketInfo< PACKET_TRIANGULATION > | Stores information about the 3-manifold triangulation packet |
| CReturns | A convenience base class for a function object, which does nothing beyond provide a ReturnType typedef |
| CShareableObject | 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) |
| CSnapPeaException | A base class for all exceptions that are thrown from within the SnapPea kernel |
| CSnapPeaFatalError | An exception that is thrown when the SnapPea kernel encounters a fatal error |
| CSnapPeaMemoryFull | An exception that is thrown when the SnapPea kernel finds that all available memory has been exhausted |
| CStoreConstPtr | An NProperty storage policy indicating that the property should be held by constant pointer |
| CStoreManagedPtr | 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 |
| CStoreValue | An NProperty storage policy indicating that the property should be held by value |
| CSurfaceFilterInfo | A template that stores information about a particular type of normal surface filter |
| CSurfaceFilterInfo< NS_FILTER_COMBINATION > | Stores information about the combination surface filter |
| CSurfaceFilterInfo< NS_FILTER_DEFAULT > | Stores information about the default accept-all surface filter |
| CSurfaceFilterInfo< NS_FILTER_PROPERTIES > | Stores information about the property-based surface filter |
| CZBuffer | A common base class for compression/decompression stream buffers |