| ► algebra | |
| nabeliangroup.h | Deals with finitely generated abelian groups |
| ngrouppresentation.h | Deals with finite presentations of groups |
| nhomgrouppresentation.h | Deals with finite presentations of groups |
| nmarkedabeliangroup.h | Deals with abelian groups given by chain complexes |
| nxmlalgebrareader.h | Deals with parsing XML data for various algebraic structures |
| ► angle | |
| nanglestructure.h | Deals with angle structures on triangulations |
| nanglestructurelist.h | Contains a packet representing a collection of angle structures on a triangulation |
| nxmlanglestructreader.h | Deals with parsing XML data for angle structure lists |
| ► census | |
| dim2census.h | Deals with forming a census of all 2-manifold triangulations of a given size |
| dim2edgepairing.h | Deals with pairing off edges of triangles in a census of 2-manifold triangulations |
| dim2gluingperms.h | Deals with selecting gluing permutations to complement a particular pairing of triangle edges |
| dim2gluingpermsearcher.h | Supports searching through all possible sets of triangle gluing permutations for a given triangle edge pairing |
| ncensus.h | Provides facilities for looking up 3-manifold triangulations in Regina's in-built census databases |
| nfacepairing.h | Deals with pairing off tetrahedron faces in a census of 3-manifold triangulations |
| ngenericfacetpairing.h | Deals with pairing off facets of simplices in a census of n-dimensional triangulations |
| ngenericgluingperms.h | Deals with selecting gluing permutations to complement a particular pairing of facets of simplices in an n-manifold triangulation |
| ngluingperms.h | Deals with selecting gluing permutations to complement a particular pairing of tetrahedron faces |
| ngluingpermsearcher.h | Supports searching through all possible sets of tetrahedron gluing permutations for a given tetrahedron face pairing |
| ► dim2 | |
| dim2boundarycomponent.h | Deals with boundary components of a 2-manifold triangulation |
| dim2component.h | Deals with components of a 2-manifold triangulation |
| dim2edge.h | Deals with edges in the 1-skeleton of a 2-manifold triangulation |
| dim2exampletriangulation.h | Offers several example 2-manifold triangulations as starting points for testing code or getting used to Regina |
| dim2isomorphism.h | Deals with combinatorial isomorphisms of 2-manifold triangulations |
| dim2triangle.h | Deals with triangular faces in a 2-manifold triangulation |
| dim2triangulation.h | Deals with 2-manifold triangulations |
| dim2vertex.h | Deals with vertices in a 2-manifold triangulation |
| nxmldim2trireader.h | Deals with parsing XML data for 4-manifold triangulation packets |
| ► enumerate | |
| ndoubledescription.h | Provides a modified double description method for polytope vertex enumeration |
| ndoubledescriptor.h | Provides a modified double description method for polytope vertex enumeration |
| nenumconstraint.h | Deals with validity constraints in polytope vertex enumeration |
| nhilbertcd.h | Provides a modified Contejean-Devie algorithm for Hilbert basis enumeration |
| nhilbertdual.h | Provides a modified dual algorithm for Hilbert basis enumeration |
| nhilbertprimal.h | Provides a modified primal algorithm for Hilbert basis enumeration |
| nmaxadmissible.h | Provides an algorithm for enumerating maximal faces of a polyhedral cone that satisfy a set of admissibility constraints |
| ntreeconstraint.h | Constraint classes for use with tree traversal enumeration methods |
| ntreelp.h | Linear programming code for tree traversal enumeration methods |
| ntreetraversal.h | Tree traversal methods for normal surface and angle structure enumeration and optimisation |
| ntypetrie.h | A supporting data structure for tree traversal enumeration methods |
| ordering.h | Provides different ways of sorting hyperplanes (or matching equations) when performing normal surface enumeration |
| ► file | |
| nfileinfo.h | Deals with determining information about Regina data files |
| nglobaldirs.h | Gives information about system installation directories |
| nxmlfile.h | Deals with storing program data (including packet trees) in XML data files |
| ► foreign | |
| csvsurfacelist.h | Exports normal surface lists to plain text CSV files |
| dehydration.h | Allows reading lists of dehydrated triangulations |
| isosig.h | Allows reading lists of isomorphism signatures |
| orb.h | Allows reading Orb / Casson triangulation files |
| pdf.h | Allows reading and writing PDF documents |
| recogniser.h | Allows exports to Matveev's 3-manifold recogniser |
| snappea.h | Allows reading and writing SnapPea files |
| ► generic | |
| dimtraits.h | A template class that provides information on working in different dimensions |
| nfacetspec.h | Allows lightweight representation of individual facets of simplices |
| ngenericisomorphism.h | Deals with combinatorial isomorphisms of n-manifold triangulations |
| ngenerictriangulation.h | Generic code for working with triangulations of arbitrary dimension |
| ► manifold | |
| ngraphloop.h | Deals with graph manifolds formed from self-identified Seifert fibred spaces |
| ngraphpair.h | Deals with graph manifolds formed from pairs of Seifert fibred spaces |
| ngraphtriple.h | Deals with graph manifolds formed from sequences of three Seifert fibred spaces |
| nhandlebody.h | Deals with arbitrary handlebodies |
| nlensspace.h | Deals with general lens spaces |
| nmanifold.h | Deals with the underlying 3-manifolds of triangulations |
| notation.h | Explains notation used for describing various types of 3-manifold |
| nsfs.h | Deals with general Seifert fibred spaces |
| nsfsaltset.h | Assists with providing different representations of the same Seifert fibred space |
| nsimplesurfacebundle.h | Deals with simple closed surface bundles |
| nsnappeacensusmfd.h | Deals with 3-manifolds from the SnapPea census |
| ntorusbundle.h | Deals with torus bundles over the circle |
| ► maths | |
| approx.h | Provides facilities for working around rounding errors when dealing with real numbers |
| matrixops.h | Provides various complex matrix calculations |
| ninteger.h | Provides arbitrary-precision and fixed-precision integer types |
| nlargeinteger.h | A deprecated header for dealing with arbitrary precision integers |
| nmatrix.h | Deals with matrices of elements of various types |
| nmatrix2.h | Deals with 2x2 integer matrices |
| nmatrixint.h | Deals with matrices of arbitrary precision integers |
| nperm3.h | Deals with permutations of {0,1,2} |
| nperm4.h | Deals with permutations of {0,1,2,3} |
| nperm5.h | Deals with permutations of {0,1,2,3,4} |
| nprimes.h | Support for finding primes and factorising integers |
| nrational.h | Deals with artibrary precision rational numbers |
| nray.h | Provides a fast class for rational rays rooted at the origin |
| numbertheory.h | Provides miscellaneous number theory routines |
| nvector.h | Provides a fast and generic vector class |
| permconv.h | Conversions between various permutation classes |
| ► packet | |
| ncontainer.h | Contains a packet whose entire life purpose is to contain other packets |
| npacket.h | Deals with packets of information that form the working data objects |
| npacketlistener.h | Deals with objects that can listen for packet events |
| npdf.h | A packet that contains a PDF document |
| nscript.h | Contains a packet representing a script |
| ntext.h | Contains a packet representing a text string |
| nxmlpacketreader.h | Deals with parsing XML data for individual packets |
| nxmlpacketreaders.h | Deals with parsing XML data for various basic packet types |
| nxmltreeresolver.h | Support for resolving dangling packet references after a complete packet tree has been read from file |
| packetregistry.h | Provides access to a registry of all packet types known to Regina |
| packettype.h | Defines constants for the various packet types known to Regina |
| ► progress | |
| 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 |
| nprogresstracker.h | Facilitates progress tracking and cancellation for long operations |
| nprogresstypes.h | Provides specific methods of representing progress reports |
| ► python | |
| globalarray.h | Allows global C++ arrays to be wrapped neatly in Python |
| ► snappea | |
| nsnappeatriangulation.h | Provides access to the SnapPea kernel |
| nxmlsnappeareader.h | Deals with parsing XML data for SnapPea triangulations |
| ► split | |
| 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 |
| ► subcomplex | |
| naugtrisolidtorus.h | Deals with augmented triangular solid torus components of a triangulation |
| nblockedsfs.h | Supports Seifert fibred spaces that are triangulated using saturated blocks |
| nblockedsfsloop.h | Supports self-identified Seifert fibred spaces that are triangulated using saturated blocks |
| nblockedsfspair.h | Supports joined pairs of Seifert fibred spaces that are triangulated using saturated blocks |
| nblockedsfstriple.h | Supports joined sequences of three Seifert fibred spaces that are triangulated using saturated blocks |
| 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 |
| nlayeredsurfacebundle.h | Deals with layered surface bundle triangulations |
| nlayering.h | Assists with the analysis of layerings upon a torus boundary |
| npillowtwosphere.h | Deals with 2-spheres made from two triangles glued along their three edges |
| npluggedtorusbundle.h | Supports self-identified Seifert fibred spaces that are triangulated using a combination of thin I-bundles and saturated blocks |
| nplugtrisolidtorus.h | Deals with plugged triangular solid torus components of a triangulation |
| nsatannulus.h | Deals with saturated two-triangle annuli within a Seifert fibred space |
| nsatblock.h | Deals with saturated blocks in triangulations of Seifert fibred spaces |
| nsatblockstarter.h | Provides a hard-coded list of saturated blocks to use as starting points for recognising larger Seifert fibred spaces |
| nsatblocktypes.h | Describes several types of saturated blocks within Seifert fibred space triangulations |
| nsatregion.h | Supports connected regions of saturated blocks in triangulations of Seifert fibred spaces |
| nsnappeacensustri.h | Deals with 3-manifold triangulations from the SnapPea census |
| 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 |
| nstandardtri.h | Deals with triangulations whose structures are well-understood |
| ntrisolidtorus.h | Deals with triangular solid tori in a triangulation |
| ntrivialtri.h | Deals with a few specific hard-coded trivial triangulations |
| ntxicore.h | Provides various triangulations of the product of the torus and the interval |
| ► surfaces | |
| coordregistry.h | Provides access to a registry of all normal coordinate systems that can be used to create and store normal surfaces in 3-manifold triangulations |
| filterregistry.h | Provides access to a registry of all normal surface filter classes that can be used to filter lists of normal surfaces in 3-manifold triangulations |
| flavourregistry.h | Deprecated header |
| ndisc.h | Deals with individual normal discs and sets of normal discs in a normal surface |
| ndisctype.h | Deals with normal and almost normal disc types |
| nnormalsurface.h | Deals with an individual normal surface in a 3-manifold triangulation |
| nnormalsurfacelist.h | Contains a packet representing a collection of normal surfaces in a 3-manifold |
| normalcoords.h | Defines constants for normal surface coordinate systems |
| normalflags.h | Defines constants and flags for normal surface enumeration |
| nprism.h | Deals with triangular prisms defined by slicing along normal quads in a tetrahedron |
| nsanstandard.h | Implements almost normal surface vectors using standard triangle-quad-oct coordinates |
| nsmirrored.h | Provides a normal surface vector that is mirrored in another coordinate system to avoid frequent lengthy calculations |
| nsoriented.h | Implements normal surface vectors using transversly oriented normal surface coordinates |
| nsorientedquad.h | Implements normal surface vectors using transversely oriented quad coordinates |
| nsquad.h | Implements normal surface vectors using quad coordinates |
| nsquadoct.h | Implements almost normal surface vectors using quad-oct coordinates |
| nsstandard.h | Implements normal surface vectors using standard triangle-quad coordinates |
| nsurfacefilter.h | Contains a packet that filters through normal surfaces |
| nsurfacesubset.h | Provides subsets of normal surface sets |
| nxmlfilterreader.h | Deals with parsing XML data for normal surface filters |
| nxmlsurfacereader.h | Deals with parsing XML data for normal surface lists |
| sfcombination.h | Contains a normal surface filter that simply combines other filters |
| sfproperties.h | Contains a normal surface filter that filters by basic properties |
| surfacefiltertype.h | Defines constants for normal surface filter types |
| ► triangulation | |
| dimtraits.h | Deprecated header |
| nboundarycomponent.h | Deals with components of the boundary of a triangulation |
| ncomponent.h | Deals with components of a triangulation |
| nedge.h | Deals with edges in a triangulation |
| nexampletriangulation.h | Offers several example 3-manifold triangulations as starting points for testing code or getting used to Regina |
| nface.h | Deprecated header |
| nfacepair.h | Deals with simple pairs of face numbers |
| nfacetspec.h | Deprecated header |
| ngenericisomorphism.h | Deprecated header |
| nhomologicaldata.h | Deals with all the details of the cellular homology of a manifold |
| nisomorphism.h | Deals with combinatorial isomorphisms of triangulations |
| nperm.h | A deprecated header for dealing with permutations of {0,1,2,3} |
| npermit.h | Provides utilities for iterating through permutations |
| ntetface.h | Deprecated header; please use nfacetspec.h instead |
| ntetrahedron.h | Deals with tetrahedra in a triangulation |
| ntriangle.h | Deals with triangles in a triangulation |
| ntriangulation.h | Deals with triangulations |
| nvertex.h | Deals with vertices in a triangulation |
| nxmltrireader.h | Deals with parsing XML data for triangulation packets |
| ► utilities | |
| base64.h | Routines for base64 encoding and decoding taken and modified from the Base64 project at base64.sourceforge.net |
| bitmanip.h | Optimised classes for bitwise analysis and manipulation of native data types |
| boostutils.h | Miscellaneous utility classes taken or modified from the Boost C++ libraries |
| flags.h | A template class for handling bitwise combinations of enum flags |
| i18nutils.h | Various classes and routines for working with internationalisation and character encodings |
| intutils.h | Miscellaneous utility classes for analysing the built-in integer types at compile time |
| memutils.h | Provides object creation and deletion functions for use with the Standard Template Library |
| nbitmask.h | Provides optimised bitmasks of arbitrary length |
| nbooleans.h | Provides various types that extend the standard boolean |
| nlistoncall.h | Provides lists of expensive objects that are only created when required |
| nmarkedvector.h | Provides space-efficient arrays with fast object-to-index lookup |
| nproperty.h | Deals with calculable properties of individual objects |
| nqitmask.h | Provides optimised "base 4 bitmasks" of fixed length |
| nthread.h | Provides very basic thread handling |
| ntrieset.h | Provides a trie-like structure for storing sets |
| ntritmask.h | Provides optimised "ternary bitmasks" of fixed length |
| nxmlcallback.h | Deals with parsing XML program data at the file level |
| nxmlelementreader.h | Deals with parsing XML program data at the tag level |
| osutils.h | Provides miscellaneous helper routines that are specific to particular operating systems |
| ptrutils.h | Provides function objects for use in the Standard Template Library that take pointers as arguments but work with the pointees instead |
| registryutils.h | Miscellaneous utility classes for working with registries of packet types, normal coordinate systems, and so on |
| 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 |
| docs.h | Contains miscellaneous documentation |
| engine.h | Provides global routines for interfacing with the Regina calculation engine |
| regina-core.h | Core definitions that must be included in every Regina header file |
| shareableobject.h | Deals with objects that can be shared from the calculation engine with the outside world |