Regina 7.3.1 Calculation Engine
forward.h File Reference

Provides forward declarations of Regina's triangulation-related classes. More...

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 

Typedefs

template<int dim>
using regina::Vertex = Face<dim, 0>
 Refers to a vertex of a dim-dimensional triangulation.
 
template<int dim>
using regina::Edge = Face<dim, 1>
 Refers to an edge of a dim-dimensional triangulation.
 
template<int dim>
using regina::Triangle = Face<dim, 2>
 Refers to a triangular face of a dim-dimensional triangulation.
 
template<int dim>
using regina::Tetrahedron = Face<dim, 3>
 Refers to a tetrahedral face of a dim-dimensional triangulation.
 
template<int dim>
using regina::Pentachoron = Face<dim, 4>
 Refers to a pentachoron face of a dim-dimensional triangulation.
 
template<int dim>
using regina::Simplex = Face<dim, dim>
 Refers to a top-dimensional simplex in a dim-dimensional triangulation.
 
template<int dim>
using regina::VertexEmbedding = FaceEmbedding<dim, 0>
 Details how a vertex of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using regina::EdgeEmbedding = FaceEmbedding<dim, 1>
 Details how a edge of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using regina::TriangleEmbedding = FaceEmbedding<dim, 2>
 Details how a triangular face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using regina::TetrahedronEmbedding = FaceEmbedding<dim, 3>
 Details how a tetrahedral face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using regina::PentachoronEmbedding = FaceEmbedding<dim, 4>
 Details how a pentachoron face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 

Detailed Description

Provides forward declarations of Regina's triangulation-related classes.

It is better to include this file rather than manually declare classes that you plan to use, for several reasons:

  • this header declares all template specialisations, so the compiler knows not to use generic implementations when these are not approrpiate;
  • this header declares templated type alias (e.g., Simplex<dim>, Vertex<dim>, etc.) in one central location, which is needed for compilers that will not accept multiple declarations of the same type alias (as seen for example in some versions of gcc).

Copyright © 1999-2025, 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).