Regina Calculation Engine
Classes | Functions | Variables
regina::detail Namespace Reference

Contains implementation details and common functionality for Regina's dimension-agnostic classes. More...

Classes

class  BoundaryComponentBase
 Helper class that provides core functionality for a boundary component of a dim-dimensional triangulation. More...
 
struct  BoundaryComponentCalculator
 Internal class used to identify lower-dimensional faces in a boundary component of a triangulation. More...
 
class  BoundaryComponentFaceInterface
 Helper class for querying the faces of a boundary component of a dim-dimensional triangulation. More...
 
class  BoundaryComponentFaceInterface< dim, allFaces, false >
 Helper class for querying the faces of a boundary component of a dim-dimensional triangulation. More...
 
class  BoundaryComponentFaceStorage
 Helper class for storing the necessary faces of a boundary component of a dim-dimensional triangulation. More...
 
class  BoundaryComponentFaceStorage< dim, false >
 Helper class for storing the necessary faces of a boundary component of a dim-dimensional triangulation. More...
 
class  BoundaryComponentStorage
 Helper class that manages all data storage for a boundary component of a dim-dimensional triangulation. More...
 
class  BoundaryComponentStorage< dim, allFaces, allowVertex, false >
 Helper class that manages all data storage for a boundary component of a dim-dimensional triangulation. More...
 
class  ComponentBase
 Helper class that provides core functionality for a connected component of a dim-manifold triangulation. More...
 
struct  EulerCalculator
 Internal class used to calculate the Euler characteristic of a triangulation. More...
 
class  ExampleBase
 Provides core functionality for constructing example dim-dimensional triangulations. More...
 
class  ExampleFromLowDim
 Helper class that builds various dim-dimensional triangulations from (dim-1)-dimensional triangulations. More...
 
class  ExampleFromLowDim< dim, false >
 Helper class that builds various dim-dimensional triangulations from (dim-1)-dimensional triangulations. More...
 
class  FaceBase
 Helper class that provides core functionality for a subdim-face in the skeleton of a dim-dimensional triangulation. More...
 
struct  FaceCalculator
 Internal class used to calculate lower-dimensional faces in a triangulation. More...
 
class  FaceEmbeddingBase
 Helper class that provides core functionality for describing how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
struct  FaceListHolder
 Helper class that indicates what data type Base uses to store its list of subdim-faces. More...
 
struct  FaceListHolder< BoundaryComponentFaceStorage< dim, true >, subdim >
 Helper class that indicates what data type is used by a boundary component class to store a list of subdim-faces. More...
 
struct  FaceListHolder< Component< dim >, subdim >
 Helper class that indicates what data type is used by a connected component of a triangulation to store a list of subdim-faces. More...
 
struct  FaceListHolder< detail::TriangulationBase< dim >, subdim >
 Helper class that indicates what data type is used by a triangulation class to store a list of subdim-faces. More...
 
class  FaceListSuite
 Internal class that helps a triangulation store its lists of faces. More...
 
class  FaceNumberingAPI
 Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>. More...
 
class  FaceNumberingImpl
 Implementation details for numbering subdim-faces of a dim-dimensional simplex. More...
 
class  FaceNumberingImpl< 1, 0, true >
 
class  FaceNumberingImpl< 2, 0, true >
 
class  FaceNumberingImpl< 2, 1, false >
 
class  FaceNumberingImpl< 3, 0, true >
 
class  FaceNumberingImpl< 3, 1, true >
 
class  FaceNumberingImpl< 3, 2, false >
 
class  FaceNumberingImpl< 4, 0, true >
 
class  FaceNumberingImpl< 4, 1, true >
 
class  FaceNumberingImpl< 4, 2, false >
 
class  FaceNumberingImpl< 4, 3, false >
 
class  FaceNumberingImpl< dim, 0, true >
 
class  FaceNumberingImpl< dim, subdim, false >
 
class  FaceOrientability
 Helper class that stores whether the link of a face is orientable. More...
 
class  FaceOrientability< false >
 Helper class that stores whether the link of a face is orientable. More...
 
class  FaceStorage
 Helper class for storing all the ways in which a given face of codimension codim in a dim-dimensional triangulation appears within the various top-dimensional simplices. More...
 
class  FacetPairingBase
 Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations. More...
 
class  FaceValidity
 Helper class that stores whether a face is valid. More...
 
class  FaceValidity< false, testLinks >
 Helper class that stores whether a face is valid. More...
 
class  FaceValidity< true, false >
 Helper class that stores whether a face is valid. More...
 
class  IsomorphismBase
 Provides core functionality for combinatorial isomorphisms between dim-manifold triangulations. More...
 
struct  PachnerHelper
 Internal class used to perform Pachner moves on a triangulation. More...
 
class  SimplexBase
 Helper class that provides core functionality for a top-dimensional simplex in a dim-manifold triangulation. More...
 
class  SimplexFaces
 Helper class for storing which subdim-faces of a dim-dimensional triangulation appear within each top-dimensional simplex. More...
 
class  SimplexFacesSuite
 Internal class that helps a simplex store the details of its lower-dimensional faces. More...
 
struct  Strings
 Contains a collection of compile-time constant strings that describe features of the dimension dim. More...
 
class  TriangulationBase
 Provides core functionality for dim-dimensional triangulations. More...
 
class  WeakFaceList
 Internal class that stores all subdim-faces in a component or boundary component of a dim-dimensional triangulation. More...
 
class  WeakFaceListSuite
 Internal class that helps a component or boundary component store its lists of faces. More...
 
class  XMLSimplexReader
 Helper class that reads the XML element for a single top-dimensional simplex in a dim-dimensional triangulation. More...
 
class  XMLSimplicesReader
 Helper class that reads the XML element for the set of all top-dimensional simplices in a dim-dimensional triangulation. More...
 
class  XMLTriangulationReaderBase
 Helper class that provides core functionality for the XML packet reader that reads a single dim-dimensional triangulation. More...
 
struct  XMLTriangulationTags
 Internal class that indicates the XML tags and attributes used to describe top-dimensional simplices in a dim-dimensional triangulation. More...
 

Functions

constexpr bool allowsInvalidFaces (int dim, int subdim)
 Indicates whether it is possible for a subdim-face of a dim-dimensional triangulation to be invalid. More...
 
constexpr bool allowsNonOrientableLinks (int dim, int subdim)
 Indicates whether it is possible for a subdim-face of a dim-dimensional triangulation to have a non-orientable link. More...
 

Variables

const int *const binomSmall_ [17]
 A lookup table that stores (n choose k) for all n16. More...
 

Detailed Description

Contains implementation details and common functionality for Regina's dimension-agnostic classes.

For most of Regina's dimension-agnostic classes, such as Triangulation<dim>, Simplex<dim> and Face<dim, subdim>, the bulk of the implementation is hidden away in the namespace regina::detail.

Regina's main classes acquire their functionality through inheritance. For example, the end-user class regina::Triangulation<dim> inherits most of its functionality from the implementation class regina::detail::TriangulationBase<dim>.

Because of this inheritance, there is typically no need for end users to explicitly refer to the namespace regina::detail.

Since regina::detail contains implementation details, its classes are subject to change between releases. Specifically:


Copyright © 1999-2018, 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@maths.uq.edu.au).