► algebra | |
abeliangroup.h | Deals with finitely generated abelian groups |
grouppresentation.h | Deals with finite presentations of groups |
homgrouppresentation.h | Deals with finite presentations of groups |
intersectionform.h | Deals with intersection forms of 4-manifolds |
markedabeliangroup.h | Deals with abelian groups given by chain complexes |
► angle | |
angleflags.h | Defines constants and flags for angle structure enumeration |
anglestructure.h | Deals with angle structures on triangulations |
anglestructures.h | Implements a collection of angle structures on a 3-manifold triangulation |
► census | |
census.h | Provides facilities for looking up 3-manifold triangulations in Regina's in-built census databases |
gluingperms.h | Deals with selecting gluing permutations to complement a particular pairing of facets of simplices in an n-manifold triangulation |
gluingpermsearcher.h | Supports searching through all possible sets of gluing permutations for a given facet pairing |
gluingpermsearcher2.h | Supports searching through all possible sets of triangle gluing permutations for a given triangle edge pairing |
gluingpermsearcher3.h | Supports searching through all possible sets of tetrahedron gluing permutations for a given tetrahedron face pairing |
gluingpermsearcher4.h | Supports searching through all possible sets of pentachoron gluing permutations for a given pentachoron facet pairing |
purgeflags.h | Defines constants and flags for census generation |
► core | |
engine.h | Provides global routines for interfacing with the Regina calculation engine |
output.h | Provides a common interface for human-readable text output |
► enumerate | |
doubledescription.h | Provides a modified double description method for polytope vertex enumeration |
hilbertcd.h | Provides a modified Contejean-Devie algorithm for Hilbert basis enumeration |
hilbertdual.h | Provides a modified dual algorithm for Hilbert basis enumeration |
hilbertprimal.h | Provides a modified primal algorithm for Hilbert basis enumeration |
maxadmissible.h | Provides an algorithm for enumerating maximal faces of a polyhedral cone that satisfy a set of admissibility constraints |
ordering.h | Provides different ways of sorting hyperplanes (or matching equations) when performing normal surface enumeration |
treeconstraint.h | Constraint classes for use with tree traversal enumeration methods |
treelp.h | Linear programming code for tree traversal enumeration methods |
treetraversal.h | Tree traversal methods for normal surface and angle structure enumeration and optimisation |
typetrie.h | A supporting data structure for tree traversal enumeration methods |
validityconstraints.h | Deals with validity constraints in polytope vertex enumeration |
► file | |
fileformat.h | Represents the different generations of Regina data file format |
fileinfo.h | Deals with determining information about Regina data files |
globaldirs.h | Gives information about system installation directories |
► foreign | |
dehydration.h | Allows reading lists of dehydrated triangulations |
isosig.h | Allows reading lists of isomorphism signatures and knot signatures |
orb.h | Allows reading Orb / Casson triangulation files |
► hypersurface | |
hypercoords.h | Defines constants for normal hypersurface coordinate systems |
hyperflags.h | Defines constants and flags for normal hypersurface enumeration |
normalhypersurface.h | Deals with an individual normal hypersurface in a 4-manifold triangulation |
normalhypersurfaces.h | Implements a collection of normal hypersurfaces in a 4-manifold triangulation |
► link | |
examplelink.h | Offers several ready-made examples of knots and links |
link.h | Deals with knots and links in the 3-sphere |
modellinkgraph.h | Deals with model 4-valent planar graphs for knots and links |
tangle.h | Deals with 2-tangles in the 3-ball |
► manifold | |
graphloop.h | Deals with graph manifolds formed from self-identified Seifert fibred spaces |
graphpair.h | Deals with graph manifolds formed from pairs of Seifert fibred spaces |
graphtriple.h | Deals with graph manifolds formed from sequences of three Seifert fibred spaces |
handlebody.h | Deals with arbitrary handlebodies |
lensspace.h | Deals with general lens spaces |
manifold.h | Deals with the underlying 3-manifolds of triangulations |
notation.h | Explains notation used for describing various types of 3-manifold |
sfs.h | Deals with general Seifert fibred spaces |
sfsalt.h | Assists with providing different representations of the same Seifert fibred space |
simplesurfacebundle.h | Deals with simple closed surface bundles |
snappeacensusmfd.h | Deals with 3-manifolds from the SnapPea census |
torusbundle.h | Deals with torus bundles over the circle |
► maths | |
► spec | |
perm2.h | Internal header for permutations of {0,1} |
perm3.h | Internal header for permutations of {0,1,2} |
perm4.h | Internal header for permutations of {0,1,2,3} |
perm5.h | Internal header for permutations of {0,1,2,3,4} |
perm6.h | Internal header for permutations of {0,1,2,3,4,5} |
perm7.h | Internal header for permutations of {0,1,2,3,4,5,6} |
binom.h | Provides small binomial coefficients |
cyclotomic.h | Implements exact arithmetic in cyclotomic fields |
integer.h | Provides arbitrary-precision and fixed-precision integer types |
laurent.h | Implements single variable Laurent polynomials over arbitrary rings |
laurent2.h | Implements Laurent polynomials in two variables over arbitrary rings |
matrix.h | Deals with matrices of elements of various types |
matrix2.h | Deals with 2x2 integer matrices |
matrixops.h | Provides various complex matrix calculations |
numbertheory.h | Provides miscellaneous number theory routines |
perm.h | Deals with permutations of {0,1,...,n-1} |
permgroup.h | Implements groups of permutations on n objects |
polynomial.h | Implements single variable polynomials over arbitrary rings |
primes.h | Support for finding primes and factorising integers |
rational.h | Deals with artibrary precision rational numbers |
vector.h | Provides a fast and generic vector class |
► packet | |
attachment.h | A packet that contains an arbitrary file attachment |
container.h | Contains a packet whose entire life purpose is to contain other packets |
packet.h | Deals with packets of information that form the working data objects |
packettype.h | Defines constants for the various packet types known to Regina |
script.h | Contains a packet representing a script |
text.h | Contains a packet representing a text string |
► progress | |
progresstracker.h | Facilitates progress tracking and cancellation for long operations |
► snappea | |
examplesnappea.h | Offers several ready-made example SnapPea triangulations |
snappeatriangulation.h | Provides access to the SnapPea kernel |
► split | |
sigcensus.h | Deals with forming a census of splitting surface signatures |
sigisomorphism.h | Deals with full and partial isomorphisms of splitting surface signatures |
signature.h | Deals with signatures of splitting surfaces |
► subcomplex | |
augtrisolidtorus.h | Deals with augmented triangular solid torus components of a triangulation |
blockedsfs.h | Supports Seifert fibred spaces that are triangulated using saturated blocks |
blockedsfsloop.h | Supports self-identified Seifert fibred spaces that are triangulated using saturated blocks |
blockedsfspair.h | Supports joined pairs of Seifert fibred spaces that are triangulated using saturated blocks |
blockedsfstriple.h | Supports joined sequences of three Seifert fibred spaces that are triangulated using saturated blocks |
layeredchain.h | Deals with layered chains in a triangulation |
layeredchainpair.h | Deals with layered chain pair components of a triangulation |
layeredlensspace.h | Deals with layered lens space components of a triangulation |
layeredloop.h | Deals with layered loop components of a triangulation |
layeredsolidtorus.h | Deals with layered solid tori in a triangulation |
layeredtorusbundle.h | Deals with layered torus bundle triangulations |
layering.h | Assists with the analysis of layerings upon a torus boundary |
pillowtwosphere.h | Deals with 2-spheres made from two triangles glued along their three edges |
pluggedtorusbundle.h | Supports self-identified Seifert fibred spaces that are triangulated using a combination of thin I-bundles and saturated blocks |
plugtrisolidtorus.h | Deals with plugged triangular solid torus components of a triangulation |
satannulus.h | Deals with saturated two-triangle annuli within a Seifert fibred space |
satblock.h | Deals with saturated blocks in triangulations of Seifert fibred spaces |
satblocktypes.h | Describes several types of saturated blocks within Seifert fibred space triangulations |
satregion.h | Supports connected regions of saturated blocks in triangulations of Seifert fibred spaces |
snappeacensustri.h | Deals with 3-manifold triangulations from the SnapPea census |
snappedball.h | Deals with snapped 3-balls in a triangulation |
snappedtwosphere.h | Deals with 2-spheres made from two snapped 3-balls in a triangulation |
spiralsolidtorus.h | Deals with spiralled solid tori in a triangulation |
standardtri.h | Deals with triangulations whose structures are well-understood |
trisolidtorus.h | Deals with triangular solid tori in a triangulation |
trivialtri.h | Deals with a few specific hard-coded trivial triangulations |
txicore.h | Provides various triangulations of the product of the torus and the interval |
► surface | |
disc.h | Deals with individual normal discs and sets of normal discs in a normal surface |
disctype.h | Deals with normal and almost normal disc types |
normalcoords.h | Defines constants for normal surface coordinate systems |
normalflags.h | Defines constants and flags for normal surface enumeration |
normalsurface.h | Deals with an individual normal surface in a 3-manifold triangulation |
normalsurfaces.h | Implements a collection of normal surfaces in a 3-manifold triangulation |
prism.h | Deals with triangular prisms defined by slicing along normal quads in a tetrahedron |
surfacefilter.h | Contains a packet that filters through normal surfaces |
surfacefiltertype.h | Defines constants for normal surface filter types |
► treewidth | |
treedecomposition.h | Deals with treewidth and tree decompositions, in particular for facet pairing graphs |
► triangulation | |
► alias | |
face.h | Provides dimension-specific aliases for dimension-agnostic routines |
facenumber.h | Provides dimension-specific aliases for dimension-agnostic routines |
isomorphism.h | Provides dimension-specific aliases for dimension-agnostic routines |
► detail | |
boundarycomponent.h | Implementation details for boundary components of triangulations |
component.h | Implementation details for connected components of triangulations |
example.h | Implementation details for generating example triangulations in arbitrary dimension |
face.h | Implementation details for lower-dimensional faces of triangulations |
facenumbering.h | Implementation details for describing how subdim-faces are numbered within a dim-dimensional simplex |
facetpairing.h | Implementation details for dual graphs of dim-dimensional triangulations |
retriangulate.h | Traits classes for analysing actions that are passed to retriangulation or link rewriting functions |
simplex.h | Implementation details for top-dimensional simplices in a triangulation |
strings.h | Implementation details that hard-code strings appropriate for each dimension |
triangulation.h | Implementation details for triangulations of arbitrary dimension |
► dim2 | |
component2.h | Internal header for connected components of a 2-manifold triangulation |
triangle2.h | Internal header for triangular faces in a 2-manifold triangulation |
triangulation2.h | Internal header for 2-dimensional triangulations |
► dim3 | |
component3.h | Internal header for connected components of a 3-manifold triangulation |
edge3.h | Internal header for edges in a 3-manifold triangulation |
homologicaldata.h | Deals with all the details of the cellular homology of a manifold |
tetrahedron3.h | Internal header for tetrahedra in a 3-manifold triangulation |
triangle3.h | Internal header for triangles in a 3-manifold triangulation |
triangulation3.h | Internal header for 3-dimensional triangulations |
vertex3.h | Internal header for vertices in a 3-manifold triangulation |
► dim4 | |
component4.h | Internal header for connected components of a 4-manifold triangulation |
edge4.h | Internal header for edges in a 4-manifold triangulation |
pentachoron4.h | Internal header for 4-dimensional simplices in a 4-manifold triangulation |
tetrahedron4.h | Internal header for tetrahedra in a 4-manifold triangulation |
triangle4.h | Internal header for triangles in a 4-manifold triangulation |
triangulation4.h | Internal header for 4-dimensional triangulations |
vertex4.h | Internal header for vertices in a 4-manifold triangulation |
► generic | |
boundarycomponent.h | Internal header for boundary components of triangulations of arbitrary dimension |
component.h | Internal header for connected components of triangulations of arbitrary dimension |
face.h | Internal header for faces of triangulations of arbitrary dimension |
faceembedding.h | Internal header for embeddings of faces within top-dimensional simplices |
facetpairing.h | Internal header for dual graphs of triangulations of arbitrary dimension |
isomorphism.h | Internal header for combinatorial isomorphisms between triangulations of arbitrary dimension |
simplex.h | Internal header for top-dimensional simplices of triangulations of arbitrary dimension |
triangulation.h | Internal header for working with triangulations of arbitrary dimension |
cut.h | Supports cuts in triangulations and facet pairings |
dim2.h | Includes all headers for working with 2-dimensional triangulations. This includes headers for the main class Triangulation<2>, as well as the face classes Face<2,subdim>, the component classes Component<2> and BoundaryComponent<2>, and the isomorphism class Isomorphism<2> |
dim3.h | Includes all headers for working with 3-dimensional triangulations. This includes headers for the main class Triangulation<3>, as well as the face classes Face<3,subdim>, the component classes Component<3> and BoundaryComponent<3>, and the isomorphism class Isomorphism<3> |
dim4.h | Includes all headers for working with 4-dimensional triangulations. This includes headers for the main class Triangulation<4>, as well as the face classes Face<4,subdim>, the component classes Component<4> and BoundaryComponent<4>, and the isomorphism class Isomorphism<4> |
example.h | Offers some example higher-dimensional triangulations as starting points for testing code or getting used to Regina |
example2.h | Offers some example 2-dimensional triangulations as starting points for testing code or getting used to Regina |
example3.h | Offers some example 3-dimensional triangulations as starting points for testing code or getting used to Regina |
example4.h | Offers some example 4-dimensional triangulations as starting points for testing code or getting used to Regina |
facenumbering.h | Describes the way in which subdim-faces are numbered within a dim-dimensional simplex |
facepair.h | Deals with simple pairs of face numbers |
facetpairing.h | Includes headers for working with facet pairings in all dimensions except for dimension 3. Specifically, this includes headers for the class FacetPairing<dim> for all dim ≠ 3 |
facetpairing3.h | Deals with dual graphs of 3-manifold triangulations |
facetspec.h | Allows lightweight representation of individual facets of simplices |
forward.h | Provides forward declarations of Regina's triangulation-related classes |
generic.h | Includes all headers for working with higher-dimensional triangulations. This includes headers for the main class Triangulation<dim>, as well as the face classes Face<dim,subdim>, the component classes Component<dim> and BoundaryComponent<dim>, and the isomorphism class Isomorphism<dim>, for all dimensions dim ≥ 5 |
isosigencoding.h | Defines different encodings for isomorphism signatures |
isosigtype.h | Defines different types of isomorphism signatures |
pachner.h | Explains terminology used with Pachner moves on triangulations |
► 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 |
bitmask.h | Provides optimised bitmasks of arbitrary length |
boolset.h | Provides various types that extend the standard boolean |
exception.h | Defines some general exception types thrown by Regina. Note that some exceptions that are specific to a particular piece of machinery (e.g., snapshotting, or errors within the SnapPea kernel) are defined in other headers alongside that machinery |
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 |
listview.h | Lightweight objects that offer access to lists |
markedvector.h | Provides space-efficient arrays with fast object-to-index lookup |
memstream.h | Supports input streams that read directly from memory |
osutils.h | Provides miscellaneous helper routines that are specific to particular operating systems |
qitmask.h | Provides optimised "base 4 bitmasks" of fixed length |
randutils.h | Provides threadsafe random number generation |
sequence.h | Support for temporary lightweight sequences |
shortarray.h | Provides short stack-based arrays of bounded size |
sigutils.h | General helper tools for isomorphism signatures, knot signatures and the like |
snapshot.h | Provides a mechanism for snapshotting objects at a particular moment in time |
stringutils.h | Provides various routines for use with C++ strings |
tableview.h | Lightweight objects that offer access to multi-dimensional tables |
tightencoding.h | Provides short ASCII printable encodings for various objects |
trieset.h | Provides a trie-like structure for storing sets |
typeutils.h | Provides helper classes for use with template metaprogramming and type analysis. The need for these will likely diminish as Regina switches to use more modern C++ standards |
xmlutils.h | Various classes and routines for XML manipulation. The libxml2 library is used to do most of the underlying work |
docs.h | Contains miscellaneous documentation |
regina-core.h | Core definitions that must be included in every Regina header file |