Regina Calculation Engine
Classes | Typedefs | Functions
Generic code

Template code to work with triangulations of arbitrary dimension. More...

Classes

class  regina::Component< dim >
 A connected component of a dim-manifold triangulation. More...
 
class  regina::FaceEmbedding< dim, subdim >
 Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
class  regina::Face< dim, subdim >
 Represents a subdim-face in the skeleton of a dim-dimensional triangulation. More...
 
class  regina::FaceNumbering< dim, subdim >
 Specifies how subdim-faces are numbered within a dim-dimensional simplex. More...
 
class  regina::FacetPairing< dim >
 Represents the dual graph of a dim-manifold triangulation; that is, the pairwise matching of facets of dim-dimensional simplices. More...
 
struct  regina::FacetSpec< dim >
 A lightweight class used to refer to a particular facet of a particular top-dimensional simplex in a dim-dimensional triangulation. More...
 
class  regina::Isomorphism< dim >
 Represents a combinatorial isomorphism from one dim-manifold triangulation into another. More...
 
class  regina::Simplex< dim >
 Represents a top-dimensional simplex in a dim-manifold triangulation. More...
 
class  regina::FaceList< dim, subdim >
 Stores the list of all subdim-faces of a dim-dimensional triangulation. More...
 
class  regina::Triangulation< dim >
 A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets. More...
 
class  regina::DegreeLessThan< dim, subdim >
 A function object used for sorting faces of triangulations by increasing degree. More...
 
class  regina::DegreeGreaterThan< dim, subdim >
 A function object used for sorting faces of triangulations by decreasing degree. More...
 
class  regina::XMLTriangulationReader< dim >
 An XML packet reader that reads a single dim-dimensional triangulation. More...
 

Typedefs

typedef FacetSpec< 2 > regina::Dim2TriangleEdge
 A lightweight class used to refer to a particular edge of a particular triangle in a 2-manifold triangulation. More...
 
typedef FacetSpec< 3 > regina::NTetFace
 A lightweight class used to refer to a particular face of a particular tetrahedron in a 3-manifold triangulation. More...
 
typedef FacetSpec< 4 > regina::Dim4PentFacet
 A lightweight class used to refer to a particular facet of a particular pentachoron in a 4-manifold triangulation. More...
 
using regina::REGINA_DEPRECATED = FacetSpec< dim >
 
typedef std::vector< Face< dim, subdim > * >::const_iterator regina::FaceList< dim, subdim >::Iterator
 An iterator type for iterating through this list of faces. More...
 

Functions

int regina::binomSmall (int n, int k)
 Returns the binomial coefficient
choose k for small arguments n and k. More...
 
 regina::FaceList< dim, subdim >::FaceList (const FaceList &)=delete
 Explicitly disable the copy constructor. More...
 
FaceListregina::FaceList< dim, subdim >::operator= (const FaceList &)=delete
 Explicitly disable the assignment operator. More...
 
size_t regina::FaceList< dim, subdim >::size () const
 Returns the number of subdim-faces in the triangulation. More...
 
Face< dim, subdim > * regina::FaceList< dim, subdim >::operator[] (size_t index) const
 Returns the requested subdim-face. More...
 
Iterator regina::FaceList< dim, subdim >::begin () const
 Returns an iterator pointing to the first subdim-face. More...
 
Iterator regina::FaceList< dim, subdim >::end () const
 Returns an iterator pointing beyond the last subdim-face. More...
 
 regina::FaceList< dim, subdim >::FaceList ()=default
 Creates an empty list of subdim-faces. More...
 
void regina::FaceList< dim, subdim >::push_back (Face< dim, subdim > *face)
 Pushes the given face onto the end of this list. More...
 
void regina::FaceList< dim, subdim >::destroy ()
 Destroys all faces in this list, and clears the list itself. More...
 
bool regina::FaceList< dim, subdim >::sameDegrees (const FaceList< dim, subdim > &other) const
 Tests whether this and the given triangulation have the same subdim-face degree sequences. More...
 

Detailed Description

Template code to work with triangulations of arbitrary dimension.

Typedef Documentation

§ Dim2TriangleEdge

A lightweight class used to refer to a particular edge of a particular triangle in a 2-manifold triangulation.

This is a convenience typedef for the template instance FacetSpec<2>.

§ Dim4PentFacet

A lightweight class used to refer to a particular facet of a particular pentachoron in a 4-manifold triangulation.

This is a convenience typedef for the template instance FacetSpec<4>.

§ Iterator

template<int dim, int subdim>
typedef std::vector<Face<dim, subdim>*>::const_iterator regina::FaceList< dim, subdim >::Iterator

An iterator type for iterating through this list of faces.

Dereferencing such an iterator will return a pointer of type Face<dim, subdim>*.

§ NTetFace

A lightweight class used to refer to a particular face of a particular tetrahedron in a 3-manifold triangulation.

This is a convenience typedef for the template instance FacetSpec<3>.

Function Documentation

§ begin()

template<int dim, int subdim>
FaceList< dim, subdim >::Iterator regina::FaceList< dim, subdim >::begin ( ) const
inline

Returns an iterator pointing to the first subdim-face.

Returns
an iterator at the beginning of this list.

§ binomSmall()

int regina::binomSmall ( int  n,
int  k 
)
inline

Returns the binomial coefficient
choose k for small arguments n and k.

This routine is very fast, since it uses a constant-time lookup. The trade-off is that it can only be used for n ≤ 16.

If you need a compile-time constant, you should use the constant FaceNumbering<n-1, k-1>::nFaces instead. This function is provided for situations where n and/or k are not known until runtime.

Note
The constraint n ≤ 16 is large enough for working with triangulations in Regina, since Regina restricts its triangulations to dimension ≤ 15 (where each simplex has 16 vertices).
Parameters
nthe parameter n in (n choose k); this must be between 0 and 16 inclusive.
kthe parameter k in (n choose k); this must be between 0 and n inclusive.
Returns
the binomial coefficient n choose k.

§ destroy()

template<int dim, int subdim>
void regina::FaceList< dim, subdim >::destroy ( )
inlineprotected

Destroys all faces in this list, and clears the list itself.

§ end()

template<int dim, int subdim>
FaceList< dim, subdim >::Iterator regina::FaceList< dim, subdim >::end ( ) const
inline

Returns an iterator pointing beyond the last subdim-face.

Returns
an iterator beyond the end of this list.

§ FaceList() [1/2]

template<int dim, int subdim>
regina::FaceList< dim, subdim >::FaceList ( const FaceList< dim, subdim > &  )
delete

Explicitly disable the copy constructor.

§ FaceList() [2/2]

template<int dim, int subdim>
regina::FaceList< dim, subdim >::FaceList ( )
protecteddefault

Creates an empty list of subdim-faces.

§ operator=()

template<int dim, int subdim>
FaceList& regina::FaceList< dim, subdim >::operator= ( const FaceList< dim, subdim > &  )
delete

Explicitly disable the assignment operator.

§ operator[]()

template<int dim, int subdim>
Face< dim, subdim > * regina::FaceList< dim, subdim >::operator[] ( size_t  index) const
inline

Returns the requested subdim-face.

Parameters
indexindicates which face to return; this must be between 0 and size()-1 inclusive.
Returns
the (index)th subdim-face.

§ push_back()

template<int dim, int subdim>
void regina::FaceList< dim, subdim >::push_back ( Face< dim, subdim > *  face)
inlineprotected

Pushes the given face onto the end of this list.

This object will take ownership of the given face.

Parameters
facethe face to push.

§ sameDegrees()

template<int dim, int subdim>
bool regina::FaceList< dim, subdim >::sameDegrees ( const FaceList< dim, subdim > &  other) const
protected

Tests whether this and the given triangulation have the same subdim-face degree sequences.

For the purposes of this routine, degree sequences are considered to be unordered.

Precondition
This and the given triangulation are known to have the same number of subdim-faces as each other.
Parameters
otherthe triangulation to compare against this.
Returns
true if and only if the degree sequences are equal.

§ size()

template<int dim, int subdim>
size_t regina::FaceList< dim, subdim >::size ( ) const
inline

Returns the number of subdim-faces in the triangulation.

Returns
the number of subdim-faces.

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