Regina 7.0 Calculation Engine
|
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 | CallableArg |
A traits class that deduces the type of the argument in a given position for a callable object. More... | |
class | ComponentBase |
Helper class that provides core functionality for a connected component of a dim-manifold 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... | |
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... | |
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, 0 > |
class | FaceNumberingImpl< 2, 1, 0 > |
class | FaceNumberingImpl< 3, 1, 1 > |
class | FaceNumberingImpl< 3, 2, 0 > |
class | FaceNumberingImpl< 4, 1, 2 > |
class | FaceNumberingImpl< 4, 2, 1 > |
class | FaceNumberingImpl< 4, 3, 0 > |
class | FaceNumberingImpl< dim, 0, codim > |
class | FaceNumberingImpl< dim, subdim, 0 > |
class | FacetPairingBase |
Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations. More... | |
struct | RetriangulateActionTraits |
A traits class that analyses callable objects that are passed to retriangulation or link rewriting functions. More... | |
class | SimplexBase |
Helper class that provides core functionality for a top-dimensional simplex in a dim-manifold triangulation. 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... | |
Typedefs | |
template<class Object , bool withSig> | |
using | RetriangulateActionFunc = typename std::conditional< withSig, std::function< bool(const std::string &, Object &&)>, std::function< bool(Object &&)> >::type |
Declares the internal type used to store a callable action that is passed to a retriangulation or link rewriting function. More... | |
Functions | |
template<class Object , bool withSig> | |
bool | retriangulateInternal (const Object &obj, int height, unsigned nThreads, ProgressTrackerOpen *tracker, RetriangulateActionFunc< Object, withSig > &&action) |
The common implementation of all retriangulation and link rewriting functions. More... | |
template<typename Int > | |
void | tightEncodeInteger (std::ostream &out, Int value) |
Internal function that writes the tight encoding of the given integer to the given output stream. More... | |
Variables | |
constexpr int | binomSmall_ [17][17] |
A lookup table that stores (n choose k) for all n ≤ 16. More... | |
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: