File List
Here is a list of all documented files with brief descriptions:

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 | Deals with forming a census of all 3-manifold triangulations of a given size
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 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
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
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 | Allows Regina triangulations to interact with the SnapPea kernel
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
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

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).