| approx.h | Provides routines for calculating properties of real and complex numbers whilst allowing for rounding errors |
| boostutils.h | Miscellaneous utility classes taken or modified from the Boost C++ libraries |
| dehydration.h | Allows reading lists of dehydrated triangulations |
| docs.h | Contains miscellaneous documentation |
| engine.h | Provides global routines for interfacing with the Regina calculation engine |
| filterregistry.h | Contains a registry of normal surface filtering classes known to the engine. Each such class should be a subclass of NSurfaceFilter |
| flavourregistry.h | Contains a registry of coordinate system flavours known to the engine that can actually be used to create and store normal surfaces |
| globalarray.h | Allows global C++ arrays to be wrapped neatly in Python |
| hashmap.h | Includes the Standard Template Library hash map header |
| hashset.h | Includes the Standard Template Library hash set header |
| hashutils.h | Provides a variety of hash functions for use with the Standard Template Library |
| matrixops.h | Provides various complex matrix calculations |
| memutils.h | Provides object creation and deletion functions for use with the Standard Template Library |
| nabeliangroup.h | Deals with finitely generated abelian groups |
| nanglestructure.h | Deals with angle structures on triangulations |
| nanglestructurelist.h | Contains a packet representing a collection of angle structures on a triangulation |
| naugtrisolidtorus.h | Deals with augmented triangular solid torus components of a triangulation |
| nbooleans.h | Provides various types that extend the standard boolean |
| nboundarycomponent.h | Deals with components of the boundary of a triangulation |
| ncensus.h | Deals with forming a census of all triangulations of a given size |
| ncompconstraint.h | Deals with compatibility constraints in polytope vertex enumeration |
| ncomponent.h | Deals with components of a triangulation |
| ncontainer.h | Contains a packet whose entire life purpose is to contain other packets |
| ndisc.h | Deals with individual normal discs and sets of normal discs in a normal surface |
| ndoubledescriptor.h | Provides a modified double descriptor method for polytope vertex enumeration |
| nedge.h | Deals with edges in a triangulation |
| nenumerator.h | Provides the basic infrastructure for polytope vertex enumeration |
| nface.h | Deals with faces in a triangulation |
| nfacepair.h | Deals with simple pairs of face numbers |
| nfacepairing.h | Deals with pairing off tetrahedron faces in a triangulation census |
| nfile.h | Deals with reading and writing packet trees to and from old-style binary files |
| nfileinfo.h | Deals with determining information about Regina data files |
| nfilepropertyreader.h | Deals with reading individual properties of objects from old-style binary files |
| ngluingperms.h | Deals with selecting gluing permutations to complement a particular pairing of tetrahedron faces |
| ngrouppresentation.h | Deals with finite presentations of groups |
| nhandlebody.h | Deals with arbitrary handlebodies |
| nindexedarray.h | Deals with arrays of objects with fast object-to-index lookup |
| nisomorphism.h | Deals with combinatorial isomorphisms of triangulations |
| nknot.h | Deals with knots and links in S^3 |
| nl31pillow.h | Deals with triangular pillow L(3,1) components of a triangulation |
| nlayeredchain.h | Deals with layered chains in a triangulation |
| nlayeredchainpair.h | Deals with layered chain pair components of a triangulation |
| nlayeredlensspace.h | Deals with layered lens space components of a triangulation |
| nlayeredloop.h | Deals with layered loop components of a triangulation |
| nlayeredsolidtorus.h | Deals with layered solid tori in a triangulation |
| nlensspace.h | Deals with general Lens spaces |
| nmanifold.h | Deals with the underlying 3-manifolds of triangulations |
| nmatrix.h | Deals with matrices of elements of various types |
| nmatrixfield.h | Deals with matrices of elements from a given field |
| nmatrixint.h | Deals with matrices of arbitrary precision integers |
| nmpi.h | Deals with arbitrary precision integers |
| nnormalsurface.h | Deals with an individual normal surface |
| nnormalsurfacelist.h | Contains a packet representing a collection of normal surfaces in a 3-manifold |
| npacket.h | Deals with packets of information that form the working data objects |
| npacketlistener.h | Deals with objects that can listen for packet events |
| nperm.h | Deals with permutations of {0,1,2,3} |
| npermit.h | Provides utilities for iterating through permutations |
| npillowtwosphere.h | Deals with 2-spheres made from two faces glued along their three edges |
| nplugtrisolidtorus.h | Deals with plugged triangular solid torus components of a triangulation |
| nprism.h | Deals with triangular prisms defined by slicing along normal quads in a tetrahedron |
| nprogress.h | Allows external interfaces to obtain progress reports when running long calculations |
| nprogressmanager.h | Facilitates sharing NProgress objects between an operation thread and an external interface |
| nprogresstypes.h | Provides specific methods of representing progress reports |
| nproperty.h | Deals with calculable properties of individual objects |
| nrational.h | Deals with artibrary precision rational numbers |
| nray.h | Deals with rational rays rooted at the origin |
| nresources.h | Provides methods for accessing old-style binary file-like resources |
| nsanstandard.h | Implements almost normal surface vectors using standard triangle-quad-oct coordinates |
| nscript.h | Contains a packet representing a script |
| nsfs.h | Deals with general orientable Seifert fibred spaces |
| nsigcensus.h | Deals with forming a census of splitting surface signatures |
| nsigisomorphism.h | Deals with full and partial isomorphisms of splitting surface signatures |
| nsignature.h | Deals with signatures of splitting surfaces |
| nsimplesurfacebundle.h | Deals with simple closed surface bundles |
| nsmirrored.h | Provides a normal surface vector that is mirrored in another coordinate system to avoid frequent lengthy calculations |
| nsnappedball.h | Deals with snapped 3-balls in a triangulation |
| nsnappedtwosphere.h | Deals with 2-spheres made from two snapped 3-balls in a triangulation |
| nspiralsolidtorus.h | Deals with spiralled solid tori in a triangulation |
| nsquad.h | Implements normal surface vectors using quad coordinates |
| nsstandard.h | Implements normal surface vectors using standard triangle-quad coordinates |
| nstandardtri.h | Deals with triangulations whose structures are well-understood |
| nsurfacefilter.h | Contains a packet that filters through normal surfaces |
| nsurfaceset.h | Provides access to a collection of normal surfaces |
| nsurfacesubset.h | Provides subsets of normal surface sets |
| ntetface.h | Allows lightweight representation of individual tetrahedron faces |
| ntetrahedron.h | Deals with tetrahedra in a triangulation |
| ntext.h | Contains a packet representing a text string |
| nthread.h | Provides very basic thread handling |
| ntriangulation.h | Deals with triangulations |
| ntrisolidtorus.h | Deals with triangular solid tori in a triangulation |
| ntrivialtri.h | Deals with a few specific trivial triangulations |
| numbertheory.h | Provides miscellaneous number theory routines |
| nvector.h | Deals with vectors of elements of various types |
| nvectordense.h | Deals with dense vectors of various types |
| nvectormatrix.h | Deals with vectors that are rows or columns of matrices |
| nvectorunit.h | Deals with unit vectors of various types |
| nvertex.h | Deals with vertices in a triangulation |
| nxmlalgebrareader.h | Deals with parsing XML data for various algebraic structures |
| nxmlanglestructreader.h | Deals with parsing XML data for angle structure lists |
| nxmlcallback.h | Deals with parsing XML program data at the file level |
| nxmlelementreader.h | Deals with parsing XML program data at the tag level |
| nxmlfile.h | Deals with storing program data (including packet trees) in XML data files |
| nxmlfilterreader.h | Deals with parsing XML data for normal surface filters |
| nxmlpacketreader.h | Deals with parsing XML data for individual packets |
| nxmlpacketreaders.h | Deals with parsing XML data for various basic packet types |
| nxmlsurfacereader.h | Deals with parsing XML data for normal surface lists |
| nxmltrireader.h | Deals with parsing XML data for triangulation packets |
| packetregistry.h | Contains a registry of packet types known to the engine |
| sfcombination.h | Contains a normal surface filter that simply combines other filters |
| sfproperties.h | Contains a normal surface filter that filters by basic properties |
| shareableobject.h | Deals with objects that can be shared from the calculation engine with the outside world |
| snappea.h | Allows reading and writing SnapPea files |
| stlutils.h | Miscellaneous utility classes and routines taken or modified from the Standard Template Library |
| stringutils.h | Provides various routines for use with C++ strings |
| xmlutils.h | Various classes and routines for XML manipulation, some taken or modified from the libxml++ library. The libxml2 library is used to do most of the underlying work |
| zstream.h | Provides compressed I/O streams |