Regina 7.4 Calculation Engine
regina Namespace Reference

Contains the entire Regina calculation engine. More...

Namespaces

namespace  alias
 Contains helper classes that provide dimension-specific aliases for generic functions.
 
namespace  detail
 Contains implementation details and common functionality for Regina's dimension-agnostic classes.
 
namespace  i18n
 Various classes and routines for working with internationalisation and character encodings.
 
namespace  xml
 Various classes and routines for XML manipulation, some taken or modified from the libxml++ library.
 

Classes

class  AbelianGroup
 Represents a finitely generated abelian group. More...
 
class  AngleStructure
 Represents an angle structure on a triangulation. More...
 
class  AngleStructures
 A collection of angle structures on a 3-manifold triangulation. More...
 
class  Arrow
 Represents a multivariate polynomial of the type used by arrow polynomials of links. More...
 
class  Attachment
 A packet that can hold an arbitrary file attachment. More...
 
class  AugTriSolidTorus
 Represents an augmented triangular solid torus component of a triangulation. More...
 
class  BanBoundary
 A class that bans normal disc types that meet the boundary of the underlying triangulation. More...
 
class  BanConstraintBase
 A base class for additional banning and marking constraints that we can place on tree traversal algorithms. More...
 
class  BanEdge
 A class that bans normal disc types that meet a particular edge of the underlying triangulation. More...
 
class  BanNone
 A do-nothing class that bans no coordinates and marks no coordinates. More...
 
class  BanTorusBoundary
 A class that bans and marks disc types associated with torus boundary components. More...
 
class  Base64SigDecoder
 A helper class for reading signatures that use base64 encodings. More...
 
class  Base64SigEncoder
 A helper class for writing signatures that use base64 encodings. More...
 
struct  Base64SigEncoding
 A deprecated set of helper tools for signatures that use base64 encodings. More...
 
class  BitManipulator
 An optimised class for bitwise analysis and manipulation of native data types. More...
 
class  BitManipulatorByType
 Contains implementation details for BitManipulator where we optimise according to the underlying data type. More...
 
class  Bitmask
 A bitmask that can store arbitrarily many true-or-false bits. More...
 
class  Bitmask1
 A small but extremely fast bitmask class that can store up to 8 * sizeof(T) true-or-false bits. More...
 
class  Bitmask2
 A small but extremely fast bitmask class that can store up to 8 * sizeof(T) + 8 * sizeof(U) true-or-false bits. More...
 
class  BlockedSFS
 Represents a blocked Seifert fibred space (possibly with boundary). More...
 
class  BlockedSFSLoop
 Represents a blocked Seifert fibred space with two boundary tori that are joined together. More...
 
class  BlockedSFSPair
 Represents a blocked pair of Seifert fibred spaces joined along a single connecting torus. More...
 
class  BlockedSFSTriple
 Represents a blocked sequence of three Seifert fibred spaces joined along connecting tori. More...
 
class  BoolSet
 A set of booleans. More...
 
class  BoundaryComponent
 A component of the boundary of a dim-manifold triangulation. More...
 
struct  CallableArg
 A traits class that deduces the type of the argument in a given position for a callable object. More...
 
class  Census
 A utility class used to search for triangulations across one or more 3-manifold census databases. More...
 
class  CensusDB
 Stores the location and description of one of Regina's in-built census databases. More...
 
class  CensusHit
 Stores a single "hit" indicating that some given triangulation has been located in one of Regina's in-built census databases. More...
 
class  ChildIterator
 A forward iterator for iterating through all immediate children of a given packet. More...
 
class  ClosedPrimeMinSearcher
 A gluing permutation search class that offers a specialised search algorithm for when (i) only closed prime minimal P2-irreducible triangulations are required, and (ii) the given face pairing has order at least three. More...
 
class  CompactSearcher
 A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required. More...
 
class  Component
 A connected component of a dim-manifold triangulation. More...
 
class  Component< 2 >
 Represents a connected component of a 2-manifold triangulation. More...
 
class  Component< 3 >
 Represents a connected component of a 3-manifold triangulation. More...
 
class  Component< 4 >
 Represents a connected component of a 4-manifold triangulation. More...
 
class  Container
 A packet that simply contains other packets. More...
 
class  Crossing
 Represents a single crossing in a link diagram. More...
 
class  Cusp
 Used to return information about a single cusp of a SnapPea triangulation. More...
 
class  Cut
 A cut that separates a triangulation, facet pairing or link diagram into two pieces. More...
 
class  Cyclotomic
 Represents an element of a cyclotomic field. More...
 
class  DegreeGreaterThan
 Deprecated function object used for sorting faces of triangulations by decreasing degree. More...
 
class  DegreeLessThan
 Deprecated function object used for sorting faces of triangulations by increasing degree. More...
 
class  DiscSetSurfaceDataImpl
 Stores a piece of data alongside every normal disc within a particular normal surface. More...
 
class  DiscSetTet
 Represents a set of normal discs inside a single tetrahedron. More...
 
class  DiscSetTetData
 Stores data of type T for every normal disc inside a single tetrahedron. More...
 
struct  DiscSpec
 Specifies a single normal disc in a normal surface. More...
 
class  DiscSpecIterator
 A forward iterator used for running through all normal discs in a normal surface. More...
 
struct  DiscType
 Identifies a single normal or almost normal disc type within a triangulation. More...
 
class  DoubleDescription
 Implements a modified double description method for polytope vertex enumeration. More...
 
struct  EnableIf
 A struct that holds either a single value of type T or nothing at all, depending on whether the given compile-time condition holds. More...
 
class  EulerSearcher
 A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic. More...
 
class  Example
 This class offers static routines for constructing a variety of sample dim-dimensional triangulations. More...
 
class  Example< 2 >
 Offers routines for constructing a variety of sample 2-dimensional triangulations. More...
 
class  Example< 3 >
 Offers routines for constructing a variety of sample 3-dimensional triangulations. More...
 
class  Example< 4 >
 Offers routines for constructing a variety of sample 4-dimensional triangulations. More...
 
class  ExampleLink
 This class offers routines for constructing ready-made examples of knots and links. More...
 
class  ExampleSnapPea
 This class offers routines for constructing various example SnapPea triangulations. More...
 
class  Face
 Represents a subdim-face in the skeleton of a dim-dimensional triangulation. More...
 
class  Face< 2, 2 >
 Represents a triangle within a 2-manifold triangulation. More...
 
class  Face< 3, 0 >
 Represents a vertex in the skeleton of a 3-manifold triangulation. More...
 
class  Face< 3, 1 >
 Represents an edge in the skeleton of a 3-manifold triangulation. More...
 
class  Face< 3, 2 >
 Represents a triangle in the skeleton of a 3-manifold triangulation. More...
 
class  Face< 3, 3 >
 Represents a tetrahedron within a 3-manifold triangulation. More...
 
class  Face< 4, 0 >
 Represents a vertex in the skeleton of a 4-manifold triangulation. More...
 
class  Face< 4, 1 >
 Represents an edge in the skeleton of a 4-manifold triangulation. More...
 
class  Face< 4, 2 >
 Represents a triangle in the skeleton of a 4-manifold triangulation. More...
 
class  Face< 4, 3 >
 Represents a tetrahedron in the skeleton of a 4-manifold triangulation. More...
 
class  Face< 4, 4 >
 Represents a pentachoron (a 4-dimensional simplex) within a 4-manifold triangulation. More...
 
class  Face< dim, dim >
 Represents a top-dimensional simplex in a dim-manifold triangulation. More...
 
class  FaceEmbedding
 Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
class  FaceNumbering
 Specifies how subdim-faces are numbered within a dim-dimensional simplex. More...
 
class  FacePair
 Represents a pair of tetrahedron face numbers. More...
 
class  FacetPairing
 Represents the dual graph of a dim-manifold triangulation; that is, the pairwise matching of facets of dim-dimensional simplices. More...
 
class  FacetPairing< 3 >
 Represents the dual graph of a 3-manifold triangulation. More...
 
struct  FacetSpec
 A lightweight class used to refer to a particular facet of a particular top-dimensional simplex in a dim-dimensional triangulation. More...
 
class  FailedPrecondition
 An exception thrown when a function detects that its preconditions have been violated. More...
 
struct  FaithfulAssignment
 Determines if an integer of type From can always be assigned to an integer of type To with no loss of information. More...
 
class  FileError
 An exception thrown when trying to access data from the filesystem. More...
 
class  FileInfo
 Stores information about a Regina data file, including file format and version. More...
 
class  FixedArray
 A lightweight fixed-size random-access array whose size can be provided at runtime. More...
 
class  Flags
 A class representing a bitwise combination of flags defined by an enumeration type. More...
 
class  GlobalDirs
 Provides global routines that return directories in which various components of Regina are installed on the system. More...
 
class  GluingPerms
 Represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets. More...
 
class  GluingPermSearcher
 A utility class used to build a census of triangulations, by searching through all possible sets of gluing permutations to match a given facet pairing. More...
 
class  GluingPermSearcher< 2 >
 A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing. More...
 
class  GluingPermSearcher< 3 >
 A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing. More...
 
class  GluingPermSearcher< 4 >
 A utility class for searching through all possible gluing permutation sets that correspond to a given pentachoron facet pairing. More...
 
class  GraphLoop
 Represents a closed graph manifold formed by joining a single bounded Seifert fibred space to itself along a torus. More...
 
class  GraphPair
 Represents a closed graph manifold formed by joining two bounded Seifert fibred spaces along a common torus. More...
 
class  GraphTriple
 Represents a closed graph manifold formed by joining three bounded Seifert fibred spaces along their torus boundaries. More...
 
class  GroupExpression
 Represents an expression involving generators from a group presentation or a free group. More...
 
struct  GroupExpressionTerm
 Represents a power of a generator in a group presentation. More...
 
class  GroupPresentation
 Represents a finite presentation of a group. More...
 
class  Handlebody
 Represents an orientable handlebody. More...
 
class  HilbertCD
 Implements a modified Contejean-Devie algorithm for enumerating Hilbert bases. More...
 
class  HilbertDual
 Implements a modified dual algorithm for enumerating Hilbert bases. More...
 
class  HilbertPrimal
 Implements a modified primal algorithm for enumerating Hilbert bases. More...
 
class  HomGroupPresentation
 Represents a homomorphism between groups which are described via finite presentations. More...
 
class  HomMarkedAbelianGroup
 Represents a homomorphism of finitely generated abelian groups. More...
 
class  HomologicalData
 A specialised class that computes a large amount of detailed homological information for a 3-manifold triangulation. More...
 
class  HyperbolicMinSearcher
 A gluing permutation search class that offers a specialised search algorithm for when only minimal ideal triangulations of cusped finite-volume hyperbolic 3-manifolds are required. More...
 
class  HyperEncoding
 Indicates precisely how a normal hypersurface within a 4-manifold triangulation is encoded by an integer vector. More...
 
class  HyperInfo
 A class used to query general information about different normal hypersurface coordinate systems. More...
 
class  ImpossibleScenario
 An exception thrown when an unexpected scenario arises that should never be possible. More...
 
struct  InfinityBase
 Internal base classes for use with IntegerBase, templated on whether we should support infinity as an allowed value. More...
 
class  IntegerBase
 Represents an arbitrary precision integer. More...
 
class  IntersectionForm
 Represents a symmetric bilinear integral form, which for Regina is typically the intersection form of a 4-manifold. More...
 
struct  IntOfMinSize
 Gives access to native integer types that hold at least k bytes, where k may be any compile-time constant. More...
 
struct  IntOfSize
 Gives access to native integer types that hold exactly k bytes, where k may be any compile-time constant. More...
 
class  InvalidArgument
 An exception thrown when invalid or unsupported arguments are passed into a function. More...
 
class  InvalidInput
 An exception thrown when a function reads unexpected or incomplete data from an input stream (or more generally, an input source). More...
 
class  Isomorphism
 Represents a combinatorial isomorphism from one dim-manifold triangulation into another. More...
 
class  IsoSigClassic
 The default signature type to use for isomorphism signatures. More...
 
class  IsoSigDegrees
 Defines an alternate type of isomorphism signature based on degree sequences of subdim-faces. More...
 
class  IsoSigPrintable
 The default encoding to use for isomorphism signatures. More...
 
struct  IsReginaArbitraryPrecisionInteger
 Determines if the type T is one of Regina's arbitrary precision integer types. More...
 
struct  IsReginaInteger
 Determines if the type T is one of Regina's own integer types (either arbitrary precision or fixed size). More...
 
class  Laurent
 Represents a single-variable Laurent polynomial with coefficients of type T. More...
 
class  Laurent2
 Represents a Laurent polynomial in the two variables x, y with coefficients of type T. More...
 
class  LayeredChain
 Represents a layered chain in a triangulation. More...
 
class  LayeredChainPair
 Represents a layered chain pair component of a triangulation. More...
 
class  LayeredLensSpace
 Represents a layered lens space component of a triangulation. More...
 
class  LayeredLoop
 Represents a layered loop component of a triangulation. More...
 
class  LayeredSolidTorus
 Represents a layered solid torus in a triangulation. More...
 
class  LayeredTorusBundle
 Describes a layered torus bundle. More...
 
class  Layering
 Represents a layering of zero or more tetrahedra upon a torus boundary. More...
 
class  LensSpace
 Represents a general lens space. More...
 
class  LightweightSequence
 A lightweight class for storing a random-access sequence of objects. More...
 
class  Link
 Represents a combinatorial diagram of a directed knot or link. More...
 
class  ListView
 A lightweight object that can be used for iteration and random access to all elements of a given list. More...
 
class  ListView< Element * >
 A specialisation of ListView for working with lists stored in a C-style array whose size is not known at compile-time. More...
 
class  ListView< Element[n]>
 A specialisation of ListView for working with lists stored in a C-style array whose size is fixed at compile-time. More...
 
class  LockViolation
 An exception thrown when an attempt is made to violate a simplex or facet lock. More...
 
struct  LPCol
 Used by LPInitialTableaux<LPConstraint> to store a single column of the adjusted matching equation matrix in sparse form. More...
 
class  LPConstraintBase
 A base class for additional linear constraints that we can add to the tableaux of normal surface or angle structure matching equations. More...
 
class  LPConstraintEulerPositive
 A class that constraints the tableaux of normal surface matching equations to ensure that Euler characteristic is strictly positive. More...
 
class  LPConstraintEulerZero
 A class that constraints the tableaux of normal surface matching equations to ensure that Euler characteristic is zero. More...
 
class  LPConstraintNone
 A do-nothing class that imposes no additional linear constraints on the tableaux of normal surface or angle structure matching equations. More...
 
class  LPConstraintNonSpun
 A class that constraints the tableaux of normal surface matching equations to ensure that normal surfaces in an ideal triangulation are compact (thereby avoiding spun normal surfaces with infinitely many triangles). More...
 
class  LPConstraintSubspace
 A subclass of LPConstraintBase used for constraints defined entirely by homogeneous linear equations. More...
 
class  LPData
 Stores an intermediate tableaux for the dual simplex method, and contains all of the core machinery for using the dual simplex method. More...
 
class  LPInitialTableaux
 Stores an adjusted matrix of homogeneous linear matching equations based on a given triangulation, in sparse form. More...
 
class  LPMatrix
 A matrix class for use with linear programming. More...
 
class  LPSystem
 Indicates which broad class of vector encodings a particular tableaux is designed to work with. More...
 
class  Manifold
 Represents a particular 3-manifold, independent of how it might be triangulated. More...
 
class  MarkedAbelianGroup
 Represents a finitely generated abelian group given by a chain complex. More...
 
class  MarkedElement
 A base class for elements of MarkedVector. More...
 
class  MarkedVector
 A vector of objects with fast, space-efficient reverse lookup of array indices. More...
 
class  Matrix
 Represents a matrix of elements of the given type T. More...
 
class  Matrix2
 Represents a 2-by-2 integer matrix. More...
 
class  Matrix3D
 Represents a linear transformation in three-dimensional space, as represented by a real 3-by-3 matrix. More...
 
class  MaxAdmissible
 Used to enumerate all maximal admissible faces of a polyhedral cone under a given set of admissibility constraints. More...
 
class  mem_istream
 An input stream that reads an array of characters in memory. More...
 
class  mem_streambuf
 A stream buffer that provides the implementation details for mem_istream. More...
 
class  ModelLinkGraph
 Represents an undirected 4-valent graph with a specific embedding in some closed orientable surface. More...
 
class  ModelLinkGraphArc
 A reference to an outgoing edge from a node of a model graph for a knot or link. More...
 
class  ModelLinkGraphCells
 Describes the cellular decomposition of a closed orientable surface induced by a 4-valent graph embedded within it. More...
 
class  ModelLinkGraphNode
 Represents a single node in a model graph for a knot or link. More...
 
class  NativeInteger
 A wrapper class for a native, fixed-precision integer type of the given size. More...
 
class  NormalEncoding
 Indicates precisely how a normal surface is encoded by an integer vector. More...
 
class  NormalHypersurface
 Represents a single normal hypersurface in a 4-manifold triangulation. More...
 
class  NormalHypersurfaces
 A collection of normal hypersurfaces in a 4-manifold triangulation. More...
 
class  NormalInfo
 A class used to query general information about different normal coordinate systems. More...
 
class  NormalSurface
 Represents a single normal surface in a 3-manifold triangulation. More...
 
class  NormalSurfaces
 A collection of normal surfaces in a 3-manifold triangulation. More...
 
class  NoSolution
 An exception thrown when Regina has certified that a mathematical problem has no solution. More...
 
class  NotImplemented
 An exception thrown when some functionality is not yet implemented. More...
 
struct  Output
 A common base class for objects that write human-readable text output. More...
 
struct  OutputBase
 Provides a type alias to help identify where in the class hierarchy the output functions T::str() and T::detail() are implemented. More...
 
class  Packet
 Represents a packet of information that may be individually edited or operated upon. More...
 
class  PacketChildren
 A lightweight object that gives access to all immediate children of a given packet. More...
 
class  PacketData
 A lightweight helper class that allows an object of type Held to connect with the wrapped packet class that contains it. More...
 
class  PacketDescendants
 A lightweight object that gives access to all strict descendants of a given packet. More...
 
class  PacketInfo
 A class used to query general information about different packet types. More...
 
class  PacketListener
 An object that can be registered to listen for packet events. More...
 
class  PacketOf
 A packet that stores a mathematical object of type Held. More...
 
class  PacketShell
 Gives access to the final remains of a packet that is in the process of being destroyed. More...
 
class  Perm
 Represents a permutation of {0,1,...,n-1}. More...
 
class  Perm< 2 >
 Represents a permutation of {0,1}. More...
 
class  Perm< 3 >
 Represents a permutation of {0,1,2}. More...
 
class  Perm< 4 >
 Represents a permutation of {0,1,2,3}. More...
 
class  Perm< 5 >
 Represents a permutation of {0,1,2,3,4}. More...
 
class  Perm< 6 >
 Represents a permutation of {0,1,2,3,4,5}. More...
 
class  Perm< 7 >
 Represents a permutation of {0,1,2,3,4,5,6}. More...
 
class  PermClass
 Represents a conjugacy class of permutations on n elements. More...
 
class  PermGroup
 Represents a group of permutations on n elements. More...
 
struct  PermSn
 A lightweight array-like object that supports fast lookup and iteration for permutations on n objects. More...
 
class  PillowTwoSphere
 Represents a 2-sphere made from two triangles glued together along their three edges. More...
 
class  PluggedTorusBundle
 Describes a triangulation of a graph manifold formed by joining a bounded saturated region with a thin I-bundle over the torus, possibly with layerings in between. More...
 
class  PlugTriSolidTorus
 Represents a plugged triangular solid torus component of a triangulation. More...
 
class  Polynomial
 Represents a single-variable polynomial with coefficients of type T. More...
 
class  PosOrder
 A comparison object that sorts hyperplanes by position vectors. More...
 
class  Primes
 A helper class for finding primes and factorising integers. More...
 
struct  PrismSpec
 Specifies a single triangular prism in a tetrahedron. More...
 
class  ProgressTracker
 Manages percentage-based progress tracking and cancellation polling for long operations. More...
 
class  ProgressTrackerBase
 The base class for Regina's progress tracking classes. More...
 
class  ProgressTrackerObjective
 Manages objective-based progress tracking and cancellation polling for open-ended operations. More...
 
class  ProgressTrackerOpen
 Manages numerical progress tracking and cancellation polling for open-ended operations. More...
 
class  Qitmask1
 A small but extremely fast "base 4 bitmask" class that can store up to 8 * sizeof(T) "qits", each equal to 0, 1, 2 or 3. More...
 
class  Qitmask2
 A small but extremely fast "base 4 bitmask" class that can store up to 8 * sizeof(T) + 8 * sizeof(U) "qits", each equal to 0, 1, 2 or 3. More...
 
class  RandomEngine
 Offers threadsafe access to Regina's global uniform random bit generator. More...
 
class  Rational
 Represents an arbitrary precision rational number. More...
 
class  ReginaException
 A base class for all of the exceptions that are thrown by Regina's native mathematical code. More...
 
struct  RingTraits
 A helper class that instructs Regina how to do mathematical operations with objects from any ring type T. More...
 
class  Rotation3D
 Represents a rotation about the origin in real three-dimensional space. More...
 
struct  SatAnnulus
 Represents an annulus formed from a pair of triangles in a Seifert fibred space. More...
 
class  SatBlock
 Represents a saturated block in a Seifert fibred space. More...
 
class  SatBlockModel
 Contains an explicit triangulation of a saturated block along with the accompanying saturated block description. More...
 
class  SatBlockSpec
 Describes how a single saturated block forms a part of a larger saturated region. More...
 
class  SatCube
 A saturated block that is a six-tetrahedron cube. More...
 
class  SatLayering
 A degenerate saturated block that is a single tetrahedron wrapped around so that two opposite edges touch. More...
 
class  SatLST
 A saturated block that is a layered solid torus. More...
 
class  SatMobius
 A degenerate zero-tetrahedron saturated block that corresponds to attaching a Mobius band to a single annulus boundary. More...
 
class  SatReflectorStrip
 A saturated block that is a reflector strip. More...
 
class  SatRegion
 A large saturated region in a Seifert fibred space formed by joining together saturated blocks. More...
 
class  SatTriPrism
 A saturated block that is a three-tetrahedron triangular prism. More...
 
class  Script
 A packet representing a Python script that can be run. More...
 
struct  Segment3D
 Represents a line segment in 3-dimensional space, defined by its two endpoints u and v. More...
 
class  SFSAlt
 Provides an alternative representation of a single bounded Seifert fibred space. More...
 
struct  SFSFibre
 Represents an exceptional (alpha, beta) fibre in a Seifert fibred space. More...
 
class  SFSpace
 Represents a general Seifert fibred space, which may be orientable or non-orientable. More...
 
class  ShortArray
 A short stack-based array of bounded size. More...
 
struct  ShortOutput
 A common base class for objects that provide short text output only. More...
 
class  SigCensus
 A class responsible for building censuses of splitting surface signatures. More...
 
class  Signature
 Represents a signature of a splitting surface in a closed 3-manifold triangulation. More...
 
class  SigPartialIsomorphism
 Represents a partial isomorphism between two splitting surface signatures. More...
 
class  SimpleSurfaceBundle
 Represents a particularly simple closed surface bundle over the circle. More...
 
class  SnapPeaCensusManifold
 Represents a 3-manifold from the SnapPea cusped census. More...
 
class  SnapPeaCensusTri
 Represents a 3-manifold triangulation from the SnapPea cusped census. More...
 
class  SnapPeaFatalError
 An exception that is thrown when the SnapPea kernel encounters a fatal error. More...
 
class  SnapPeaIsNull
 An exception thrown when the SnapPea kernel is asked to work with a null SnapPea triangulation. More...
 
class  SnapPeaMemoryFull
 An exception that is thrown when the SnapPea kernel finds that all available memory has been exhausted. More...
 
class  SnapPeaTriangulation
 Offers direct access to the SnapPea kernel from within Regina. More...
 
class  SnapPeaUnsolvedCase
 An exception thrown when the SnapPea kernel is not able to perform some computation. More...
 
class  SnappedBall
 Represents a snapped 3-ball in a triangulation. More...
 
class  SnappedTwoSphere
 Represents a 2-sphere made from two snapped 3-balls in a triangulation. More...
 
class  Snapshot
 Keeps a snapshot of an object of type T as it was at a particular moment in time. More...
 
class  SnapshotRef
 A reference to an image of type T that has been snapshotted at a particular moment in time. More...
 
class  Snapshottable
 A base class for images of type T that can be snapshotted at a particular moment in time. More...
 
class  SnapshotWriteError
 An exception thrown when someone tries to modify the read-only deep copy taken by a snapshot. More...
 
class  SpatialLink
 Represents a specific embedding of a directed knot or link in real 3-dimensional space. More...
 
class  SpiralSolidTorus
 Represents a spiralled solid torus in a triangulation. More...
 
class  StandardTriangulation
 Describes a triangulation or subcomplex of a triangulation whose structure is well-understood. More...
 
class  StrandRef
 A reference to one of the two strands of a link that pass each other at a crossing. More...
 
class  SubtreeIterator
 A forward iterator for iterating through the entire packet subtree rooted at a given packet. More...
 
class  SurfaceFilter
 A packet that accepts or rejects normal surfaces. More...
 
class  SurfaceFilterCombination
 A normal surface filter that simply combines other filters. More...
 
class  SurfaceFilterProperties
 A normal surface filter that filters by basic properties of the normal surface. More...
 
class  TableView
 A lightweight object that can be used for random access to all elements of a given multi-dimensional table. More...
 
class  Tangle
 Represents a 2-tangle in the 3-ball. More...
 
class  TautEnumeration
 The main entry point for the tree traversal algorithm to enumerate all taut angle structures in a 3-manifold triangulation. More...
 
class  Text
 A packet representing a text string. More...
 
struct  TightEncodable
 A base class that assists with support for tight encodings and corresponding decodings. More...
 
class  TopologyLockable
 A base class for objects that support topology locks, such as triangulations or links. More...
 
class  TorusBundle
 Represents a torus bundle over the circle. More...
 
class  TreeBag
 Represents a single bag in a tree decomposition. More...
 
class  TreeDecomposition
 Represents a tree decomposition of a graph. More...
 
class  TreeEnumeration
 The main entry point for the tree traversal algorithm to enumerate all vertex normal or almost normal surfaces in a 3-manifold triangulation. More...
 
class  TreeSingleSoln
 The main entry point for the tree traversal / branching algorithm to locate a single non-trivial normal surface satisfying given constraints within a 3-manifold triangulation. More...
 
class  TreeTraversal
 A base class for searches that employ the tree traversal algorithm for enumerating and locating vertex normal surfaces and taut angle structures. More...
 
class  Triangulation
 A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets. More...
 
class  Triangulation< 2 >
 Represents a 2-manifold triangulation. More...
 
class  Triangulation< 3 >
 Represents a 3-dimensional triangulation, typically of a 3-manifold. More...
 
class  Triangulation< 4 >
 Represents a 4-dimensional triangulation, typically of a 4-manifold. More...
 
class  TrieSet
 A trie-like data structure for storing and retriving sets. More...
 
class  TriSolidTorus
 Represents a three-tetrahedron triangular solid torus in a triangulation. More...
 
class  TrivialTri
 Represents one of a few particular hard-coded trivial triangulations that do not belong to any of the other larger families. More...
 
class  TxICore
 Provides a triangulation of the product T × I (the product of the torus and the interval). More...
 
class  TxIDiagonalCore
 One of a family of thin T × I triangulations that typically appear at the centres of layered torus bundles. More...
 
class  TxIParallelCore
 A specific six-tetrahedron TxICore triangulation that does not fit neatly into other families. More...
 
class  TypeTrie
 A trie that stores a set of type vectors of a fixed length. More...
 
struct  Unprotected
 An empty type that can be used to disable in-built safety checks in some specific circumstances. More...
 
class  UnsolvedCase
 An exception thrown when a mathematical function is not able to solve a particular instance of a problem. More...
 
class  ValidityConstraints
 Represents a set of combinatorial validity constraints for use with polytope vertex enumeration. More...
 
class  Vector
 An optimised vector class of elements from a given ring T. More...
 
struct  Vector3D
 Represents a vector in real three-dimensional space. More...
 
class  XMLLegacySimplicesReader
 
class  XMLSimplexReader
 
class  XMLTriangulationReader
 
class  XMLWriter
 

Typedefs

using MatrixInt = Matrix<Integer>
 A matrix of arbitrary-precision integers.
 
using LargeInteger = IntegerBase<true>
 LargeInteger is a type alias for IntegerBase<true>, which offers arbitrary precision integers with support for infinity.
 
using Integer = IntegerBase<false>
 Integer is a type alias for IntegerBase<false>, which offers arbitrary precision integers without support for infinity.
 
using NativeLong = NativeInteger<sizeof(long)>
 NativeLong is a type alias for the NativeInteger template class whose underlying integer type is a native long.
 
using MatrixBool = Matrix<bool>
 A matrix of booleans.
 
using VectorInt = Vector<Integer>
 A vector of arbitrary-precision integers.
 
using VectorLarge = Vector<LargeInteger>
 A vector of arbitrary-precision integers that allows infinite elements.
 
template<typename T >
using DiscSetSurfaceData = DiscSetSurfaceDataImpl<DiscSetTetData<T>>
 A structure that stores data of type T alongside every normal disc within a particular normal surface.
 
using DiscSetSurface = DiscSetSurfaceDataImpl<DiscSetTet>
 A structure that builds all of the normal discs within a particular normal surface, but does not store any additional data alongside them.
 
template<int dim>
using Vertex = Face<dim, 0>
 Refers to a vertex of a dim-dimensional triangulation.
 
template<int dim>
using Edge = Face<dim, 1>
 Refers to an edge of a dim-dimensional triangulation.
 
template<int dim>
using Triangle = Face<dim, 2>
 Refers to a triangular face of a dim-dimensional triangulation.
 
template<int dim>
using Tetrahedron = Face<dim, 3>
 Refers to a tetrahedral face of a dim-dimensional triangulation.
 
template<int dim>
using Pentachoron = Face<dim, 4>
 Refers to a pentachoron face of a dim-dimensional triangulation.
 
template<int dim>
using Simplex = Face<dim, dim>
 Refers to a top-dimensional simplex in a dim-dimensional triangulation.
 
template<int dim>
using VertexEmbedding = FaceEmbedding<dim, 0>
 Details how a vertex of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using EdgeEmbedding = FaceEmbedding<dim, 1>
 Details how a edge of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using TriangleEmbedding = FaceEmbedding<dim, 2>
 Details how a triangular face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using TetrahedronEmbedding = FaceEmbedding<dim, 3>
 Details how a tetrahedral face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using PentachoronEmbedding = FaceEmbedding<dim, 4>
 Details how a pentachoron face of a dim-dimensional triangulation appears within each top-dimensional simplex.
 
template<int dim>
using IsoSigPrintableLockFree = IsoSigPrintable<dim, false>
 An encoding for isomorphism signatures that ignores simplex and/or facet locks.
 
template<int dim>
using IsoSigEdgeDegrees = IsoSigDegrees<dim, 1>
 Defines an alternate type of isomorphism signature based on edge degree sequences.
 
template<int dim>
using IsoSigRidgeDegrees = IsoSigDegrees<dim, dim - 2>
 Defines an alternate type of isomorphism signature based on degree sequences of (dim-2)-faces.
 
template<int bits>
using IntOfMinBits = IntOfMinSize<(bits + 7) / 8>
 Gives access to native integer types that hold at least k bits, where k may be any compile-time constant.
 
template<int pos, typename tuple , typename out_of_range = void>
using safe_tuple_element
 An alternative to std::tuple_element that gracefully handles an out-of-range index.
 

Enumerations

enum class  AngleAlg {
  AngleAlg::Default = 0x0000 , AngleAlg::Tree = 0x0010 , AngleAlg::DD = 0x0020 , AngleAlg::Legacy = 0x4000 ,
  AngleAlg::Custom = 0x8000
}
 Represents options and variants of algorithms for enumerating various types of angle structures on 3-manifold triangulations. More...
 
enum class  CensusPurge {
  CensusPurge::None = 0x00 , CensusPurge::NonMinimal = 0x01 , CensusPurge::NonPrime = 0x02 , CensusPurge::NonMinimalPrime = 0x03 ,
  CensusPurge::NonMinimalHyp = 0x09 , CensusPurge::P2Reducible = 0x04
}
 Represents different classes of triangulations that may be ignored by census generation algorithms. More...
 
enum class  FileFormat { FileFormat::BinaryGen1 = 1 , FileFormat::XmlGen2 = 2 , FileFormat::XmlGen3 = 3 , FileFormat::Current = XmlGen3 }
 Represents each generation of Regina's file formats. More...
 
enum class  HyperCoords { HyperCoords::Standard = 0 , HyperCoords::Prism = 1 , HyperCoords::Edge = 200 }
 Represents different coordinate systems that can be used for enumerating and/or displaying normal hypersurfaces within 4-manifold triangulations. More...
 
enum class  HyperList {
  HyperList::Default = 0x0000 , HyperList::EmbeddedOnly = 0x0001 , HyperList::ImmersedSingular = 0x0002 , HyperList::Vertex = 0x0004 ,
  HyperList::Fundamental = 0x0008 , HyperList::Legacy = 0x4000 , HyperList::Custom = 0x8000
}
 Represents different lists of normal hypersurfaces that might be constructed for a given 4-manifold triangulation. More...
 
enum class  HyperAlg {
  HyperAlg::Default = 0x0000 , HyperAlg::VertexDD = 0x0020 , HyperAlg::HilbertPrimal = 0x0100 , HyperAlg::HilbertDual = 0x0200 ,
  HyperAlg::Legacy = 0x4000 , HyperAlg::Custom = 0x8000
}
 Represents options and variants of algorithms for enumerating various types of normal hypersurfaces in 4-manifold triangulations. More...
 
enum class  Framing { Framing::Seifert = 1 , Framing::Blackboard = 2 }
 Indicates one of the standard framings of a knot or link. More...
 
enum class  GraphConstraint { GraphConstraint::All = 0x00 , GraphConstraint::NoTwists = 0x01 , GraphConstraint::SingleTraversal = 0x02 }
 Represents different classes of graph embeddings that one might want to generate. More...
 
enum class  PermCodeType { PermCodeType::Images = 1 , PermCodeType::Index = 2 }
 Represents the different kinds of internal permutation codes that are used in Regina's various Perm<n> template classes. More...
 
enum class  PermOrder { Sign = 0 , Lex = 1 }
 Represents different ways in which permutations on n objects can be ordered. More...
 
enum class  NamedPermGroup { Trivial = 0 , Symmetric = 1 , Alternating = 2 }
 Constants that represent particular well-known classes of permutation groups. More...
 
enum class  PacketHeldBy { None = 0 , Packet = 1 , SnapPea = 2 }
 Internal constants that support wrapped packets. More...
 
enum class  PacketType {
  PacketType::None = 0 , PacketType::Container = 1 , PacketType::Text = 2 , PacketType::NormalSurfaces = 6 ,
  PacketType::Script = 7 , PacketType::SurfaceFilter = 8 , PacketType::AngleStructures = 9 , PacketType::Attachment = 10 ,
  PacketType::NormalHypersurfaces = 13 , PacketType::SnapPea = 16 , PacketType::Link = 17 , PacketType::SpatialLink = 18 ,
  PacketType::Triangulation2 = 15 , PacketType::Triangulation3 = 3 , PacketType::Triangulation4 = 11 , PacketType::Triangulation5 = 105 ,
  PacketType::Triangulation6 = 106 , PacketType::Triangulation7 = 107 , PacketType::Triangulation8 = 108
}
 Represents the different types of packet that are available in Regina. More...
 
enum class  Algorithm { Algorithm::Default = 0 , Algorithm::Backtrack = 1 , Algorithm::Treewidth = 2 , Algorithm::Naive = 3 }
 Represents various classes of algorithms that Regina can use for computations. More...
 
enum class  Language { Language::Cxx = 1 , Language::Python = 2 , Language::Current = Cxx }
 Represents different programming languages that Regina supports. More...
 
enum class  ChangeType { General = 0 , PreserveTopology = 1 , Cosmetic = 2 }
 Indicates different ways in which code could change a topological object, such as a link or triangulation. More...
 
enum class  NormalCoords {
  NormalCoords::Standard = 0 , NormalCoords::Quad = 1 , NormalCoords::QuadClosed = 10 , NormalCoords::AlmostNormal = 102 ,
  NormalCoords::LegacyAlmostNormal = 100 , NormalCoords::QuadOct = 101 , NormalCoords::QuadOctClosed = 110 , NormalCoords::Edge = 200 ,
  NormalCoords::Arc = 201 , NormalCoords::Angle = 400
}
 Represents different coordinate systems that can be used for enumerating and/or displaying normal surfaces. More...
 
enum class  NormalList {
  NormalList::Default = 0x0000 , NormalList::EmbeddedOnly = 0x0001 , NormalList::ImmersedSingular = 0x0002 , NormalList::Vertex = 0x0004 ,
  NormalList::Fundamental = 0x0008 , NormalList::Legacy = 0x4000 , NormalList::Custom = 0x8000
}
 Represents different lists of normal surfaces that might be constructed for a given 3-manifold triangulation. More...
 
enum class  NormalAlg {
  NormalAlg::Default = 0x0000 , NormalAlg::VertexViaReduced = 0x0001 , NormalAlg::VertexStandardDirect = 0x0002 , NormalAlg::VertexTree = 0x0010 ,
  NormalAlg::VertexDD = 0x0020 , NormalAlg::HilbertPrimal = 0x0100 , NormalAlg::HilbertDual = 0x0200 , NormalAlg::HilbertCD = 0x0400 ,
  NormalAlg::HilbertFullCone = 0x0800 , NormalAlg::Legacy = 0x4000 , NormalAlg::Custom = 0x8000
}
 Represents options and variants of algorithms for enumerating various types of normal surfaces in 3-manifold triangulations. More...
 
enum class  NormalTransform {
  NormalTransform::ConvertReducedToStandard = 0x01 , NormalTransform::ConvertStandardToReduced = 0x02 , NormalTransform::FilterCompatible = 0x10 , NormalTransform::FilterDisjoint = 0x20 ,
  NormalTransform::FilterIncompressible = 0x30
}
 Represents different ways in which Regina can transform one normal surface list into another. More...
 
enum class  SurfaceExport {
  SurfaceExport::Name = 0x0001 , SurfaceExport::Euler = 0x0002 , SurfaceExport::Orient = 0x0004 , SurfaceExport::Sides = 0x0008 ,
  SurfaceExport::Bdry = 0x0010 , SurfaceExport::Link = 0x0020 , SurfaceExport::Type = 0x0040 , SurfaceExport::None = 0 ,
  SurfaceExport::AllButName = 0x007e , SurfaceExport::All = 0x007f
}
 Used to describe a field, or a set of fields, that can be exported alongside a normal surface list. More...
 
enum class  SurfaceFilterType { SurfaceFilterType::LegacyDefault = 0 , SurfaceFilterType::Properties = 1 , SurfaceFilterType::Combination = 2 }
 Represents different types of filter classes that can be used to filter lists of normal surfaces in 3-manifold triangulations. More...
 
enum class  TreeDecompositionAlg { TreeDecompositionAlg::Upper = 0x0001 , TreeDecompositionAlg::UpperGreedyFillIn = 0x0001 }
 Indicates which algorithm should be used to compute a tree decomposition of a graph. More...
 
enum class  BagComparison { BagComparison::Equal = 0 , BagComparison::Subset = -1 , BagComparison::Superset = 1 , BagComparison::Unrelated = 2 }
 Indicates the relationship between two bags in a tree decomposition. More...
 
enum class  NiceType { NiceType::None = 0 , NiceType::Introduce = 1 , NiceType::Forget = 2 , NiceType::Join = 3 }
 Used to indicate the type of each bag in a nice tree decomposition. More...
 
enum class  TriangleType {
  TriangleType::Unknown = 0 , TriangleType::Triangle = 1 , TriangleType::Scarf = 2 , TriangleType::Parachute = 3 ,
  TriangleType::Cone = 4 , TriangleType::Mobius = 5 , TriangleType::Horn = 6 , TriangleType::DunceHat = 7 ,
  TriangleType::L31 = 8
}
 The combinatorial type of a triangle, which indicates how the vertices and edges of the triangle are identified together. More...
 

Functions

void swap (AbelianGroup &lhs, AbelianGroup &rhs) noexcept
 Swaps the contents of the two given abelian groups.
 
std::ostream & operator<< (std::ostream &out, const GroupExpressionTerm &term)
 Writes the given term to the given output stream.
 
void swap (GroupExpression &lhs, GroupExpression &rhs) noexcept
 Swaps the contents of the two given expressions.
 
void swap (GroupPresentation &lhs, GroupPresentation &rhs) noexcept
 Swaps the contents of the two given group presentations.
 
void swap (HomGroupPresentation &lhs, HomGroupPresentation &rhs) noexcept
 Swaps the contents of the two given homomorphisms.
 
void swap (IntersectionForm &lhs, IntersectionForm &rhs) noexcept
 Swaps the contents of the two given intersection forms.
 
void swap (MarkedAbelianGroup &lhs, MarkedAbelianGroup &rhs) noexcept
 Swaps the contents of the two given abelian groups.
 
void swap (HomMarkedAbelianGroup &lhs, HomMarkedAbelianGroup &rhs) noexcept
 Swaps the contents of the two given homomorphisms.
 
Flags< AngleAlgoperator| (AngleAlg lhs, AngleAlg rhs)
 Returns the bitwise OR of the two given flags.
 
void swap (AngleStructure &a, AngleStructure &b) noexcept
 Swaps the contents of the given angle structures.
 
void swap (AngleStructures &lhs, AngleStructures &rhs)
 Swaps the contents of the two given lists.
 
MatrixInt makeAngleEquations (const Triangulation< 3 > &tri)
 Generates the set of angle structure equations for the given triangulation.
 
void swap (CensusDB &a, CensusDB &b) noexcept
 Swaps the contents of the given database references.
 
void swap (CensusHit &a, CensusHit &b) noexcept
 Swaps the contents of the given census hits.
 
template<int dim>
void swap (GluingPerms< dim > &a, GluingPerms< dim > &b) noexcept
 Swaps the contents of the given gluing permutation sets.
 
Flags< CensusPurgeoperator| (CensusPurge lhs, CensusPurge rhs)
 Returns the bitwise OR of the two given flags.
 
const char * versionString ()
 Returns the full version number of this calculation engine.
 
int versionMajor ()
 Returns the major version number of this calculation engine.
 
int versionMinor ()
 Returns the minor version number of this calculation engine.
 
const char * buildInfo ()
 Returns any additional information about this specific build of Regina.
 
bool versionUsesUTF8 (const char *version)
 Did the given version of Regina consistently use UTF-8 in its data files?
 
const char * versionSnapPy ()
 Returns the version of SnapPy whose underlying SnapPea kernel is built into Regina.
 
const char * versionSnapPea ()
 An alias for versionSnapPy(), which returns the version of SnapPy whose underlying SnapPea kernel is built into Regina.
 
int versionPybind11Major ()
 Returns the major version of pybind11 that is used with Regina's python bindings.
 
bool hasInt128 ()
 Does this particular build of Regina support native 128-bit arithmetic?
 
int politeThreads ()
 A suggestion for user interfaces as to how many threads should be used for parallel computations.
 
int testEngine (int value)
 Tests to see if an interface can successfully communicate with the underlying C++ calculation engine.
 
template<class T , bool supportsUtf8>
std::ostream & operator<< (std::ostream &out, const Output< T, supportsUtf8 > &object)
 Writes the short text representation of the given object to the given output stream.
 
template<typename IntType >
void swap (LPMatrix< IntType > &a, LPMatrix< IntType > &b) noexcept
 Swaps the contents of the given matrices.
 
template<typename IntType >
void swap (LPInitialTableaux< IntType > &a, LPInitialTableaux< IntType > &b) noexcept
 Swaps the contents of the given matrices.
 
template<class LPConstraint , typename IntType >
void swap (LPData< LPConstraint, IntType > &a, LPData< LPConstraint, IntType > &b) noexcept
 Swaps the contents of the given tableaux.
 
template<int nTypes>
void swap (TypeTrie< nTypes > &a, TypeTrie< nTypes > &b) noexcept
 Swaps the contents of the two given tries.
 
void swap (ValidityConstraints &a, ValidityConstraints &b) noexcept
 Swaps the contents of the two given constraint sets.
 
void swap (FileInfo &a, FileInfo &b) noexcept
 Swaps the contents of the two given file information objects.
 
std::shared_ptr< ContainerreadDehydrationList (const char *filename, unsigned colDehydrations=0, int colLabels=-1, unsigned long ignoreLines=0)
 Reads a list of dehydrated triangulations from the given text file.
 
template<class ObjectType >
std::shared_ptr< ContainerreadSigList (const char *filename, unsigned colSigs=0, int colLabels=-1, unsigned long ignoreLines=0)
 Reads a list of isomorphism signatures or knot signatures from the given text file.
 
std::shared_ptr< PacketOf< Triangulation< 3 > > > readOrb (const char *filename)
 Reads a triangulation from the given Orb / Casson file.
 
Flags< HyperListoperator| (HyperList lhs, HyperList rhs)
 Returns the bitwise OR of the two given flags.
 
Flags< HyperAlgoperator| (HyperAlg lhs, HyperAlg rhs)
 Returns the bitwise OR of the two given flags.
 
void swap (NormalHypersurface &a, NormalHypersurface &b) noexcept
 Swaps the contents of the given normal hypersurfaces.
 
void swap (NormalHypersurfaces &lhs, NormalHypersurfaces &rhs)
 Swaps the contents of the two given lists.
 
MatrixInt makeMatchingEquations (const Triangulation< 4 > &triangulation, HyperCoords coords)
 Generates the set of normal hypersurface matching equations for the given triangulation using the given coordinate system.
 
ValidityConstraints makeEmbeddedConstraints (const Triangulation< 4 > &triangulation, HyperCoords coords)
 Generates the validity constraints representing the condition that normal hypersurfaces be embedded.
 
std::ostream & operator<< (std::ostream &out, const StrandRef &s)
 Writes a depiction of the given strand reference to the given output stream.
 
void swap (Link &lhs, Link &rhs)
 Swaps the contents of the two given links.
 
Flags< GraphConstraintoperator| (GraphConstraint lhs, GraphConstraint rhs)
 Returns the bitwise OR of the two given flags.
 
std::ostream & operator<< (std::ostream &out, const ModelLinkGraphArc &a)
 Writes a depiction of the given arc reference to the given output stream.
 
void swap (ModelLinkGraph &lhs, ModelLinkGraph &rhs) noexcept
 Swaps the contents of the two given graphs.
 
void swap (SpatialLink &lhs, SpatialLink &rhs)
 Swaps the contents of the two given spatial links.
 
void swap (Tangle &lhs, Tangle &rhs) noexcept
 Swaps the contents of the two given tangles.
 
void swap (GraphLoop &a, GraphLoop &b) noexcept
 Swaps the contents of the two given graph manifolds.
 
void swap (GraphPair &a, GraphPair &b) noexcept
 Swaps the contents of the two given graph manifolds.
 
void swap (GraphTriple &a, GraphTriple &b) noexcept
 Swaps the contents of the two given graph manifolds.
 
void swap (Handlebody &a, Handlebody &b) noexcept
 Swaps the contents of the two given handlebodies.
 
void swap (LensSpace &a, LensSpace &b) noexcept
 Swaps the contents of the two given lens spaces.
 
std::ostream & operator<< (std::ostream &out, const SFSFibre &f)
 Writes the given fibre in human-readable format to the given output stream.
 
void swap (SFSpace &a, SFSpace &b) noexcept
 Swaps the contents of the two given Seifert fibred spaces.
 
void swap (SFSAlt &a, SFSAlt &b) noexcept
 Swaps the contents of the two given alternative representations of Seifert fibred spaces.
 
void swap (SimpleSurfaceBundle &a, SimpleSurfaceBundle &b) noexcept
 Swaps the contents of the two given surface bundles.
 
void swap (SnapPeaCensusManifold &a, SnapPeaCensusManifold &b) noexcept
 Swaps the contents of the two given SnapPea census manifolds.
 
void swap (TorusBundle &a, TorusBundle &b) noexcept
 Swaps the contents of the two given torus bundles.
 
template<typename Real >
std::ostream & operator<< (std::ostream &out, const Vector3D< Real > &v)
 Writes the given vector to the given output stream.
 
template<typename Real >
std::ostream & operator<< (std::ostream &out, const Segment3D< Real > &s)
 Writes the given line segment to the given output stream.
 
template<typename Real >
std::ostream & operator<< (std::ostream &out, const Matrix3D< Real > &m)
 Writes the given matrix to the given output stream.
 
template<typename Real >
std::ostream & operator<< (std::ostream &out, const Rotation3D< Real > &rot)
 Writes the given rotation to the given output stream.
 
void swap (Arrow &a, Arrow &b) noexcept
 Swaps the contents of the given polynomials.
 
Arrow operator* (Arrow poly, const Integer &scalar)
 Multiplies the given polynomial by the given integer constant.
 
Arrow operator* (const Integer &scalar, Arrow poly)
 Multiplies the given polynomial by the given integer constant.
 
Arrow operator* (Arrow arrow, const Laurent< Integer > &laurent)
 Multiplies the given arrow polynomial by the given Laurent polynomial in A.
 
Arrow operator* (const Laurent< Integer > &laurent, Arrow arrow)
 Multiplies the given arrow polynomial by the given Laurent polynomial in A.
 
Arrow operator+ (const Arrow &lhs, const Arrow &rhs)
 Adds the two given polynomials.
 
Arrow operator+ (Arrow &&lhs, const Arrow &rhs)
 Adds the two given polynomials.
 
Arrow operator+ (const Arrow &lhs, Arrow &&rhs)
 Adds the two given polynomials.
 
Arrow operator+ (Arrow &&lhs, Arrow &&rhs)
 Adds the two given polynomials.
 
Arrow operator- (Arrow arg)
 Returns the negative of the given polynomial.
 
Arrow operator- (const Arrow &lhs, const Arrow &rhs)
 Subtracts the two given polynomials.
 
Arrow operator- (Arrow &&lhs, const Arrow &rhs)
 Subtracts the two given polynomials.
 
Arrow operator- (const Arrow &lhs, Arrow &&rhs)
 Subtracts the two given polynomials.
 
Arrow operator- (Arrow &&lhs, Arrow &&rhs)
 Subtracts the two given polynomials.
 
Arrow operator* (const Arrow &lhs, const Arrow &rhs)
 Multiplies the two given polynomials.
 
consteval int binomSmall (int n, int k)
 Returns the binomial coefficient n choose k in constant time for small arguments (n ≤ 16).
 
constexpr int_fast64_t binomMedium (int n, int k)
 Returns the binomial coefficient n choose k in linear time for medium-sized arguments (n ≤ 61).
 
void swap (Cyclotomic &a, Cyclotomic &b) noexcept
 Swaps the contents of the given field elements.
 
Cyclotomic operator* (Cyclotomic elt, const Rational &scalar)
 Multiplies the given field element by the given rational.
 
Cyclotomic operator* (const Rational &scalar, Cyclotomic elt)
 Multiplies the given field element by the given rational.
 
Cyclotomic operator/ (Cyclotomic elt, const Rational &scalar)
 Divides the given field element by the given rational.
 
Cyclotomic operator+ (const Cyclotomic &lhs, const Cyclotomic &rhs)
 Adds the two given cyclotomic field elements.
 
Cyclotomic operator+ (Cyclotomic &&lhs, const Cyclotomic &rhs)
 Adds the two given cyclotomic field elements.
 
Cyclotomic operator+ (const Cyclotomic &lhs, Cyclotomic &&rhs)
 Adds the two given cyclotomic field elements.
 
Cyclotomic operator+ (Cyclotomic &&lhs, Cyclotomic &&rhs)
 Adds the two given cyclotomic field elements.
 
Cyclotomic operator- (Cyclotomic arg)
 Returns the negative of the given field element.
 
Cyclotomic operator- (const Cyclotomic &lhs, const Cyclotomic &rhs)
 Subtracts the two given cyclotomic field elements.
 
Cyclotomic operator- (Cyclotomic &&lhs, const Cyclotomic &rhs)
 Subtracts the two given cyclotomic field elements.
 
Cyclotomic operator- (const Cyclotomic &lhs, Cyclotomic &&rhs)
 Subtracts the two given cyclotomic field elements.
 
Cyclotomic operator- (Cyclotomic &&lhs, Cyclotomic &&rhs)
 Subtracts the two given cyclotomic field elements.
 
Cyclotomic operator* (const Cyclotomic &lhs, const Cyclotomic &rhs)
 Multiplies the two given cyclotomic field elements.
 
Cyclotomic operator/ (const Cyclotomic &lhs, const Cyclotomic &rhs)
 Divides the two given cyclotomic field elements.
 
template<bool withInfinity>
void swap (IntegerBase< withInfinity > &a, IntegerBase< withInfinity > &b) noexcept
 Swaps the contents of the given integers.
 
template<bool withInfinity>
std::ostream & operator<< (std::ostream &out, const IntegerBase< withInfinity > &i)
 Writes the given integer to the given output stream.
 
template<bool withInfinity>
IntegerBase< withInfinity > operator+ (long lhs, const IntegerBase< withInfinity > &rhs)
 Adds the given native integer to the given large integer.
 
template<bool withInfinity>
IntegerBase< withInfinity > operator* (long lhs, const IntegerBase< withInfinity > &rhs)
 Multiplies the given native integer with the given large integer.
 
template<bool withInfinity>
void tightEncode (std::ostream &out, IntegerBase< withInfinity > value)
 Writes the tight encoding of the given arbitrary precision integer to the given output stream.
 
template<bool withInfinity>
std::string tightEncoding (IntegerBase< withInfinity > value)
 Returns the tight encoding of the given arbitrary precision integer.
 
template<int bytes>
void swap (NativeInteger< bytes > &a, NativeInteger< bytes > &b) noexcept
 Swaps the contents of the given integers.
 
template<int bytes>
std::ostream & operator<< (std::ostream &out, const NativeInteger< bytes > &i)
 Writes the given integer to the given output stream.
 
template<typename T >
void swap (Laurent< T > &a, Laurent< T > &b) noexcept
 Swaps the contents of the given polynomials.
 
template<typename T >
Laurent< T > operator* (Laurent< T > poly, const typename Laurent< T >::Coefficient &scalar)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Laurent< T > operator* (const typename Laurent< T >::Coefficient &scalar, Laurent< T > poly)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Laurent< T > operator/ (Laurent< T > poly, const typename Laurent< T >::Coefficient &scalar)
 Divides the given polynomial by the given scalar constant.
 
template<typename T >
Laurent< T > operator+ (const Laurent< T > &lhs, const Laurent< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent< T > operator+ (Laurent< T > &&lhs, const Laurent< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent< T > operator+ (const Laurent< T > &lhs, Laurent< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent< T > operator+ (Laurent< T > &&lhs, Laurent< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent< T > operator- (Laurent< T > arg)
 Returns the negative of the given polynomial.
 
template<typename T >
Laurent< T > operator- (const Laurent< T > &lhs, const Laurent< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent< T > operator- (Laurent< T > &&lhs, const Laurent< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent< T > operator- (const Laurent< T > &lhs, Laurent< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent< T > operator- (Laurent< T > &&lhs, Laurent< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent< T > operator* (const Laurent< T > &lhs, const Laurent< T > &rhs)
 Multiplies the two given polynomials.
 
template<typename T >
void swap (Laurent2< T > &a, Laurent2< T > &b) noexcept
 Swaps the contents of the given polynomials.
 
template<typename T >
Laurent2< T > operator* (Laurent2< T > poly, const typename Laurent2< T >::Coefficient &scalar)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Laurent2< T > operator* (const typename Laurent2< T >::Coefficient &scalar, Laurent2< T > poly)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Laurent2< T > operator/ (Laurent2< T > poly, const typename Laurent2< T >::Coefficient &scalar)
 Divides the given polynomial by the given scalar constant.
 
template<typename T >
Laurent2< T > operator+ (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent2< T > operator+ (Laurent2< T > &&lhs, const Laurent2< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent2< T > operator+ (const Laurent2< T > &lhs, Laurent2< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent2< T > operator+ (Laurent2< T > &&lhs, Laurent2< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Laurent2< T > operator- (Laurent2< T > arg)
 Returns the negative of the given polynomial.
 
template<typename T >
Laurent2< T > operator- (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent2< T > operator- (Laurent2< T > &&lhs, const Laurent2< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent2< T > operator- (const Laurent2< T > &lhs, Laurent2< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent2< T > operator- (Laurent2< T > &&lhs, Laurent2< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Laurent2< T > operator* (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Multiplies the two given polynomials.
 
template<typename T >
void swap (Matrix< T > &a, Matrix< T > &b) noexcept
 Swaps the contents of the given matrices.
 
void swap (Matrix2 &a, Matrix2 &b) noexcept
 Swaps the contents of the two given matrices.
 
std::ostream & operator<< (std::ostream &out, const Matrix2 &mat)
 Writes the given matrix to the given output stream.
 
std::strong_ordering simplerThreeWay (const Matrix2 &m1, const Matrix2 &m2)
 Compare two matrices to determine which is more aesthetically pleasing.
 
bool simpler (const Matrix2 &m1, const Matrix2 &m2)
 Deprecated routine that determines whether the first given matrix is more aesthetically pleasing than the second.
 
std::strong_ordering simplerThreeWay (const Matrix2 &pair1first, const Matrix2 &pair1second, const Matrix2 &pair2first, const Matrix2 &pair2second)
 Compares two ordered pairs of matrices to determine which pair is more aesthetically pleasing.
 
bool simpler (const Matrix2 &pair1first, const Matrix2 &pair1second, const Matrix2 &pair2first, const Matrix2 &pair2second)
 Deprecated routine that determines whether the first given pair of matrices is more aesthetically pleasing than the second pair.
 
void smithNormalForm (MatrixInt &matrix)
 Transforms the given integer matrix into Smith normal form.
 
void smithNormalForm (MatrixInt &matrix, MatrixInt &rowSpaceBasis, MatrixInt &rowSpaceBasisInv, MatrixInt &colSpaceBasis, MatrixInt &colSpaceBasisInv)
 A Smith normal form algorithm that also returns change of basis matrices.
 
void metricalSmithNormalForm (MatrixInt &matrix, MatrixInt &rowSpaceBasis, MatrixInt &rowSpaceBasisInv, MatrixInt &colSpaceBasis, MatrixInt &colSpaceBasisInv)
 An alternative Smith normal form algorithm that also returns change of basis matrices.
 
size_t rowBasis (MatrixInt &matrix)
 Find a basis for the row space of the given matrix.
 
size_t rowBasisAndOrthComp (MatrixInt &input, MatrixInt &complement)
 Finds a basis for the row space of the given matrix, as well as an "incremental" basis for its orthogonal complement.
 
void columnEchelonForm (MatrixInt &M, MatrixInt &R, MatrixInt &Ri, const std::vector< size_t > &rowList)
 Transforms a given matrix into column echelon form with respect to a collection of rows.
 
MatrixInt preImageOfLattice (const MatrixInt &hom, const std::vector< Integer > &sublattice)
 Given a homomorphism from Z^n to Z^k and a sublattice of Z^k, compute the preimage of this sublattice under this homomorphism.
 
MatrixInt torsionAutInverse (const MatrixInt &input, const std::vector< Integer > &invF)
 Given an automorphism of an abelian group, this procedure computes the inverse automorphism.
 
long reducedMod (long k, long modBase)
 Reduces k modulo modBase to give the smallest possible absolute value.
 
long gcd (long a, long b)
 Deprecated routine that calculates the greatest common divisor of two signed integers.
 
std::tuple< long, long, long > gcdWithCoeffs (long a, long b)
 Calculates the greatest common divisor of two given integers and finds the smallest coefficients with which these integers combine to give their gcd.
 
long lcm (long a, long b)
 Deprecated routine that calculates the lowest common multiple of two signed integers.
 
long modularInverse (long n, long k)
 Calculates the multiplicative inverse of one integer modulo another.
 
constexpr char digit (int i)
 Returns the character used to express the integer i in a permutation.
 
constexpr int64_t factorial (int n)
 Returns the factorial of n.
 
template<int n>
std::ostream & operator<< (std::ostream &out, const Perm< n > &p)
 Writes a string representation of the given permutation to the given output stream.
 
template<int n>
std::ostream & operator<< (std::ostream &out, const PermClass< n > &c)
 Writes a string representation of the given conjugacy class of permutations to the given output stream.
 
template<typename T >
void swap (Polynomial< T > &a, Polynomial< T > &b) noexcept
 Swaps the contents of the given polynomials.
 
template<typename T >
Polynomial< T > operator* (Polynomial< T > poly, const typename Polynomial< T >::Coefficient &scalar)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Polynomial< T > operator* (const typename Polynomial< T >::Coefficient &scalar, Polynomial< T > poly)
 Multiplies the given polynomial by the given scalar constant.
 
template<typename T >
Polynomial< T > operator/ (Polynomial< T > poly, const typename Polynomial< T >::Coefficient &scalar)
 Divides the given polynomial by the given scalar constant.
 
template<typename T >
Polynomial< T > operator+ (const Polynomial< T > &lhs, const Polynomial< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Polynomial< T > operator+ (Polynomial< T > &&lhs, const Polynomial< T > &rhs)
 Adds the two given polynomials.
 
template<typename T >
Polynomial< T > operator+ (const Polynomial< T > &lhs, Polynomial< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Polynomial< T > operator+ (Polynomial< T > &&lhs, Polynomial< T > &&rhs)
 Adds the two given polynomials.
 
template<typename T >
Polynomial< T > operator- (Polynomial< T > arg)
 Returns the negative of the given polynomial.
 
template<typename T >
Polynomial< T > operator- (const Polynomial< T > &lhs, const Polynomial< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Polynomial< T > operator- (Polynomial< T > &&lhs, const Polynomial< T > &rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Polynomial< T > operator- (const Polynomial< T > &lhs, Polynomial< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Polynomial< T > operator- (Polynomial< T > &&lhs, Polynomial< T > &&rhs)
 Subtracts the two given polynomials.
 
template<typename T >
Polynomial< T > operator* (const Polynomial< T > &lhs, const Polynomial< T > &rhs)
 Multiplies the two given polynomials.
 
template<typename T >
Polynomial< T > operator/ (Polynomial< T > lhs, const Polynomial< T > &rhs)
 Divides the two given polynomials.
 
void swap (Rational &a, Rational &b) noexcept
 Swaps the contents of the given rationals.
 
std::ostream & operator<< (std::ostream &out, const Rational &rat)
 Writes the given rational to the given output stream.
 
template<typename T >
void swap (Vector< T > &a, Vector< T > &b) noexcept
 Swaps the contents of the given vectors.
 
template<class T >
std::ostream & operator<< (std::ostream &out, const Vector< T > &vector)
 Writes the given vector to the given output stream.
 
void swap (Attachment &a, Attachment &b)
 Swaps the contents of the given attachment packets.
 
void swap (Container &, Container &)
 Swap function for container packets that does nothing.
 
template<typename Held >
std::shared_ptr< PacketOf< Held > > make_packet (Held &&src)
 Converts a temporary Held object into a new wrapped packet, without making a deep copy.
 
template<typename Held >
std::shared_ptr< PacketOf< Held > > make_packet (Held &&src, const std::string &label)
 Converts a temporary Held object into a new wrapped packet, without making a deep copy.
 
template<typename Held , typename... Args>
std::shared_ptr< PacketOf< Held > > make_packet (std::in_place_t, Args &&... args)
 Creates a new packet that wraps a Held object, passing the given arguments to the Held constructor.
 
template<typename Held >
std::shared_ptr< PacketOf< Held > > make_packet ()
 Creates a new packet that wraps a default-constructed Held object.
 
template<typename Held >
Held & static_packet_cast (Packet &p)
 Casts a reference from Packet to Held, assuming that the given packet is actually a PacketOf<Held>.
 
template<typename Held >
const Held & static_packet_cast (const Packet &p)
 Casts a const reference from Packet to Held, assuming that the given packet is actually a PacketOf<Held>.
 
std::shared_ptr< Packetopen (const char *filename)
 Reads a Regina data file, and returns the corresponding packet tree.
 
std::shared_ptr< Packetopen (std::istream &in)
 Reads a Regina data file from the given input stream, and returns the corresponding packet tree.
 
void swap (Script &a, Script &b)
 Swaps the contents of the given script packets.
 
void swap (Text &a, Text &b)
 Swaps the contents of the given text packets.
 
constexpr bool standardDim (int dim)
 Indicates whether the given dimension is one of Regina's standard dimensions.
 
constexpr int maxDim ()
 Indicates that largest dimension of triangulation that Regina can work with.
 
void swap (SnapPeaTriangulation &lhs, SnapPeaTriangulation &rhs)
 Swaps the contents of the two given SnapPea triangulations.
 
void swap (SigPartialIsomorphism &a, SigPartialIsomorphism &b) noexcept
 Swaps the contents of the given partial isomorphisms.
 
void swap (Signature &a, Signature &b) noexcept
 Swaps the contents of the given signatures.
 
void swap (AugTriSolidTorus &a, AugTriSolidTorus &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (BlockedSFS &a, BlockedSFS &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (BlockedSFSLoop &a, BlockedSFSLoop &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (BlockedSFSPair &a, BlockedSFSPair &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (BlockedSFSTriple &a, BlockedSFSTriple &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredChain &a, LayeredChain &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredChainPair &a, LayeredChainPair &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredLensSpace &a, LayeredLensSpace &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredLoop &a, LayeredLoop &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredSolidTorus &a, LayeredSolidTorus &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (LayeredTorusBundle &a, LayeredTorusBundle &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (PluggedTorusBundle &a, PluggedTorusBundle &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (PlugTriSolidTorus &a, PlugTriSolidTorus &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (SatBlockModel &a, SatBlockModel &b) noexcept
 Swaps the contents of the two given models.
 
void swap (SatBlockSpec &a, SatBlockSpec &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (SatRegion &a, SatRegion &b) noexcept
 Swaps the contents of the two given regions.
 
void swap (SnapPeaCensusTri &a, SnapPeaCensusTri &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (SnappedBall &a, SnappedBall &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (SpiralSolidTorus &a, SpiralSolidTorus &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (TriSolidTorus &a, TriSolidTorus &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (TrivialTri &a, TrivialTri &b) noexcept
 Swaps the contents of the two given structures.
 
void swap (TxIDiagonalCore &lhs, TxIDiagonalCore &rhs)
 Swaps the contents of the two given T × I triangulations.
 
void swap (TxIParallelCore &lhs, TxIParallelCore &rhs)
 Swaps the contents of the two given T × I triangulations.
 
std::ostream & operator<< (std::ostream &out, const DiscSpec &spec)
 Writes the given disc specifier to the given output stream.
 
bool numberDiscsAwayFromVertex (int discType, int vertex)
 Determines whether or not normal discs of the given type are numbered away from the given vertex.
 
bool discOrientationFollowsEdge (int discType, int vertex, int edgeStart, int edgeEnd)
 Determines whether or not the natural boundary orientation of a normal disc of the given type follows the given directed normal arc.
 
template<class T >
void swap (DiscSetTetData< T > &a, DiscSetTetData< T > &b) noexcept
 Swaps the contents of the two given disc sets.
 
template<class T >
void swap (DiscSetSurfaceDataImpl< T > &a, DiscSetSurfaceDataImpl< T > &b) noexcept
 Swaps the contents of the two given disc sets.
 
std::ostream & operator<< (std::ostream &out, const DiscType &type)
 Writes the given disc type to the given output stream.
 
Flags< NormalListoperator| (NormalList lhs, NormalList rhs)
 Returns the bitwise OR of the two given flags.
 
Flags< NormalAlgoperator| (NormalAlg lhs, NormalAlg rhs)
 Returns the bitwise OR of the two given flags.
 
void swap (NormalSurface &a, NormalSurface &b) noexcept
 Swaps the contents of the given normal surfaces.
 
Flags< SurfaceExportoperator| (SurfaceExport lhs, SurfaceExport rhs)
 Returns the bitwise OR of the two given flags.
 
void swap (NormalSurfaces &lhs, NormalSurfaces &rhs)
 Swaps the contents of the two given lists.
 
MatrixInt makeMatchingEquations (const Triangulation< 3 > &triangulation, NormalCoords coords)
 Generates the set of normal surface matching equations for the given triangulation using the given coordinate system.
 
ValidityConstraints makeEmbeddedConstraints (const Triangulation< 3 > &triangulation, NormalCoords coords)
 Generates the validity constraints representing the condition that normal surfaces be embedded.
 
std::ostream & operator<< (std::ostream &out, const PrismSpec &spec)
 Writes the given prism specifier to the given output stream.
 
void swap (SurfaceFilterCombination &a, SurfaceFilterCombination &b)
 Swaps the contents of the given combination filters.
 
void swap (SurfaceFilterProperties &a, SurfaceFilterProperties &b)
 Swaps the contents of the given property-based filters.
 
void swap (TreeDecomposition &a, TreeDecomposition &b) noexcept
 Swaps the contents of the two given tree decompositions.
 
void swap (Cut &a, Cut &b) noexcept
 Swaps the contents of the given cuts.
 
template<int dim>
void swap (FacetPairing< dim > &a, FacetPairing< dim > &b) noexcept
 Swaps the contents of the given facet pairings.
 
template<int dim>
void swap (Triangulation< dim > &lhs, Triangulation< dim > &rhs)
 Swaps the contents of the two given triangulations.
 
void swap (HomologicalData &a, HomologicalData &b) noexcept
 Swaps the contents of the two given HomologicalData objects.
 
Triangulation< 3 > & static_triangulation3_cast (Packet &p)
 Casts a reference from Packet to Triangulation<3>, allowing for the packet to hold either a Triangulation<3> or a SnapPeaTriangulation.
 
const Triangulation< 3 > & static_triangulation3_cast (const Packet &p)
 Casts a const reference from Packet to Triangulation<3>, allowing for the packet to hold either a Triangulation<3> or a SnapPeaTriangulation.
 
template<int dim>
constexpr int faceOppositeEdge (int i, int j)
 Returns the (dim-2)-face number that is opposite the edge joining vertices i and j in a dim-dimensional simplex.
 
std::ostream & operator<< (std::ostream &out, const FacePair &pair)
 Writes the given face pair to the given output stream.
 
template<int dim>
std::ostream & operator<< (std::ostream &out, const FacetSpec< dim > &spec)
 Writes the given facet specifier to the given output stream.
 
template<int dim>
void swap (Isomorphism< dim > &a, Isomorphism< dim > &b) noexcept
 Swaps the contents of the given isomorphisms.
 
size_t base64Length (size_t bytes)
 Returns the number of base64 characters required to encode the given number of bytes.
 
bool isBase64 (char ch)
 Determines whether the given character is a base64 printable character as used by the base64 routines in Regina.
 
void base64Encode (const char *in, size_t inlen, char *out, size_t outlen)
 Encodes the given sequence of raw bytes in base64, and writes the results into a preallocated output buffer.
 
size_t base64Encode (const char *in, size_t inlen, char **out)
 Encodes the given sequence of raw bytes in base64, and passes back a newly allocated array containing the results.
 
bool base64Decode (const char *in, size_t inlen, char *out, size_t *outlen)
 Decodes the given sequence of base64 characters, and writes the resulting raw bytes into a preallocated output buffer.
 
bool base64Decode (const char *in, size_t inlen, char **out, size_t *outlen)
 Decodes the given sequence of base64 characters, and passes back a newly allocated array containing the results.
 
void swap (Bitmask &a, Bitmask &b) noexcept
 Swaps the contents of the two given bitmasks.
 
std::ostream & operator<< (std::ostream &out, const Bitmask &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones.
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Bitmask1< T > &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones.
 
template<typename T , typename U >
std::ostream & operator<< (std::ostream &out, const Bitmask2< T, U > &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones.
 
std::ostream & operator<< (std::ostream &out, BoolSet set)
 Writes the given boolean set to the given output stream.
 
template<typename T >
void swap (FixedArray< T > &a, FixedArray< T > &b) noexcept
 Swaps the contents of the given arrays.
 
template<typename IntType >
constexpr int bitsRequired (IntType n)
 Returns the number of bits required to store integers in the range 0,...,n-1.
 
template<typename IntType >
constexpr IntType nextPowerOfTwo (IntType n)
 Returns the smallest integer power of two that is greater than or equal to the given argument n.
 
template<typename T >
void swap (MarkedVector< T > &a, MarkedVector< T > &b) noexcept
 Swaps the contents of the given vectors.
 
std::tuple< unsigned long, unsigned long, unsigned long > resUsage ()
 Returns time and memory usage for the current process, for use on Linux systems.
 
void writeResUsage (std::ostream &out)
 Writes time and memory usage for the current process to the given output stream, for use on Linux systems.
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Qitmask1< T > &mask)
 Writes the given qitmask to the given output stream as a sequence of digits (0, 1, 2 and/or 3).
 
template<typename T , typename U >
std::ostream & operator<< (std::ostream &out, const Qitmask2< T, U > &mask)
 Writes the given qitmask to the given output stream as a sequence of digits (0, 1, 2 and/or 3).
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const LightweightSequence< T > &s)
 Writes the given sequence to the given output stream.
 
template<typename T >
void swap (LightweightSequence< T > &a, LightweightSequence< T > &b) noexcept
 Swaps the contents of the given sequences.
 
template<class T >
void swap (SnapshotRef< T > &a, SnapshotRef< T > &b) noexcept
 Swaps the given references so that they refer to each others' snapshots.
 
bool startsWith (const std::string &str, const std::string &prefix)
 Determines whether the given C++ string begins with the given prefix.
 
std::string stripWhitespace (const std::string &str)
 Strips all whitespace from the beginning and end of the given C++ string.
 
bool valueOf (const std::string &str, int8_t &dest)
 Converts the entire given string to an 8-bit integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, uint8_t &dest)
 Converts the entire given string to an unsigned 8-bit integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, short &dest)
 Converts the entire given string to a short integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, unsigned short &dest)
 Converts the entire given string to an unsigned short integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, int &dest)
 Converts the entire given string to an integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, unsigned &dest)
 Converts the entire given string to an unsigned integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, long &dest)
 Converts the entire given string to a long integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, unsigned long &dest)
 Converts the entire given string to an unsigned long integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, long long &dest)
 Converts the entire given string to a long long integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, unsigned long long &dest)
 Converts the entire given string to an unsigned long long integer and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, double &dest)
 Converts the entire given string to a double precision real number and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, bool &dest)
 Converts the entire given string to a boolean and reports whether this conversion was successful.
 
bool valueOf (const std::string &str, BoolSet &dest)
 Converts the entire given string to a set of booleans and reports whether this conversion was successful.
 
std::vector< std::string > basicTokenise (const std::string &str)
 Decomposes the given string into tokens.
 
std::string stringToToken (std::string str)
 Returns a token derived from the given string.
 
template<typename T >
std::string superscript (T value)
 Converts the given C++ integer into a unicode superscript string.
 
template<typename T >
std::string subscript (T value)
 Converts the given C++ integer into a unicode subscript string.
 
void tightEncode (std::ostream &out, int value)
 Writes the tight encoding of the given signed integer to the given output stream.
 
std::string tightEncoding (int value)
 Returns the tight encoding of the given signed integer.
 
void tightEncode (std::ostream &out, long value)
 Writes the tight encoding of the given signed long integer to the given output stream.
 
std::string tightEncoding (long value)
 Returns the tight encoding of the given signed long integer.
 
void tightEncode (std::ostream &out, long long value)
 Writes the tight encoding of the given signed long long integer to the given output stream.
 
std::string tightEncoding (long long value)
 Returns the tight encoding of the given signed long long integer.
 
void tightEncode (std::ostream &out, unsigned value)
 Writes the tight encoding of the given unsigned integer to the given output stream.
 
std::string tightEncoding (unsigned value)
 Returns the tight encoding of the given unsigned integer.
 
void tightEncode (std::ostream &out, unsigned long value)
 Writes the tight encoding of the given unsigned long integer to the given output stream.
 
std::string tightEncoding (unsigned long value)
 Returns the tight encoding of the given unsigned long integer.
 
void tightEncode (std::ostream &out, unsigned long long value)
 Writes the tight encoding of the given unsigned long long integer to the given output stream.
 
std::string tightEncoding (unsigned long long value)
 Returns the tight encoding of the given unsigned long long integer.
 
void tightEncode (std::ostream &out, bool value)
 Writes the tight encoding of the given boolean to the given output stream.
 
std::string tightEncoding (bool value)
 Returns the tight encoding of the given boolean.
 
template<typename Int >
Int tightDecoding (const std::string &enc)
 Reconstructs an integer or boolean from its given tight encoding.
 
template<typename Int >
Int tightDecode (std::istream &input)
 Reconstructs an integer or boolean from its given tight encoding.
 
void swap (TrieSet &a, TrieSet &b) noexcept
 Swaps the contents of the two given collections.
 
template<int from, int to, class Action >
constexpr void for_constexpr (Action &&action)
 Implements a compile-time for loop over a range of integers.
 
template<int... values, class Action >
constexpr void foreach_constexpr (Action &&action)
 Implements a compile-time for loop over a given set of integers.
 
template<int... values, class Action >
constexpr void foreach_constexpr (std::integer_sequence< int, values... >, Action &&action)
 Implements a compile-time for loop over a given set of integers.
 
template<int from, int to, typename Return , class Action >
constexpr Return select_constexpr (int value, Action &&action)
 Implements a compile-time selection, where the runtime argument must belong to a compile-time range of integers, and the value of the argument determines what is returned.
 
template<int from, int to, class Action >
constexpr auto select_constexpr_as_variant (int value, Action &&action)
 A variant of select_constexpr() where the return type is a variant, built from the return types for all integers in the given compile-time range.
 
const char * pythonTypename (const std::type_info *t)
 Returns the preferred Python display name for the given C++ type.
 

Variables

static constexpr AngleAlg AS_ALG_DEFAULT
 A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.
 
static constexpr AngleAlg AS_ALG_TREE
 A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.
 
static constexpr AngleAlg AS_ALG_DD
 A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.
 
static constexpr AngleAlg AS_ALG_LEGACY
 A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.
 
static constexpr AngleAlg AS_ALG_CUSTOM
 A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.
 
static constexpr CensusPurge PURGE_NONE
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
static constexpr CensusPurge PURGE_NON_MINIMAL
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
static constexpr CensusPurge PURGE_NON_PRIME
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
static constexpr CensusPurge PURGE_NON_MINIMAL_PRIME
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
static constexpr CensusPurge PURGE_NON_MINIMAL_HYP
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
static constexpr CensusPurge PURGE_P2_REDUCIBLE
 A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.
 
constexpr FileFormat REGINA_BINARY_GEN_1
 A deprecated constant representing one of Regina's file formats.
 
constexpr FileFormat REGINA_XML_GEN_2
 A deprecated constant representing one of Regina's file formats.
 
constexpr FileFormat REGINA_XML_GEN_3
 A deprecated constant representing one of Regina's file formats.
 
constexpr FileFormat REGINA_CURRENT_FILE_FORMAT
 A deprecated constant representing one of Regina's file formats.
 
constexpr HyperCoords HS_STANDARD = HyperCoords::Standard
 A deprecated alias for standard tetrahedron-prism coordinates for normal hypersurfaces.
 
constexpr HyperCoords HS_PRISM = HyperCoords::Prism
 A deprecated alias for prism coordinates for normal hypersurfaces.
 
constexpr HyperCoords HS_EDGE_WEIGHT = HyperCoords::Edge
 A deprecated alias for edge weight coordinates for normal hypersurfaces.
 
static constexpr HyperList HS_LIST_DEFAULT
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_EMBEDDED_ONLY
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_IMMERSED_SINGULAR
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_VERTEX
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_FUNDAMENTAL
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_LEGACY
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperList HS_CUSTOM
 A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_ALG_DEFAULT
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_VERTEX_DD
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_HILBERT_PRIMAL
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_HILBERT_DUAL
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_ALG_LEGACY
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
static constexpr HyperAlg HS_ALG_CUSTOM
 A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.
 
constexpr Framing FRAMING_SEIFERT = Framing::Seifert
 A deprecated constant indicating one of the standard link framings.
 
constexpr Framing FRAMING_BLACKBOARD
 A deprecated constant indicating one of the standard link framings.
 
constexpr PermCodeType PERM_CODE_IMAGES
 A deprecated constant indicating a type of internal permutation code.
 
constexpr PermCodeType PERM_CODE_INDEX
 A deprecated constant indicating a type of internal permutation code.
 
constexpr NamedPermGroup PERM_GROUP_TRIVIAL
 A deprecated constant indicating a well-known class of permutation groups.
 
constexpr NamedPermGroup PERM_GROUP_SYMMETRIC
 A deprecated constant indicating a well-known class of permutation groups.
 
constexpr NamedPermGroup PERM_GROUP_ALTERNATING
 A deprecated constant indicating a well-known class of permutation groups.
 
constexpr PacketType PACKET_NONE = PacketType::None
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_CONTAINER
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TEXT = PacketType::Text
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_NORMALSURFACES
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_SCRIPT = PacketType::Script
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_SURFACEFILTER
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_ANGLESTRUCTURES
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_ATTACHMENT = PacketType::Attachment
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_NORMALHYPERSURFACES
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_SNAPPEATRIANGULATION
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_LINK = PacketType::Link
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION2
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION3
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION4
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION5
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION6
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION7
 A deprecated constant representing one of the different types of packet.
 
constexpr PacketType PACKET_TRIANGULATION8
 A deprecated constant representing one of the different types of packet.
 
template<typename Held >
static constexpr PacketType packetTypeHolds = PacketType::None
 The packet type constant for a packet wrapping an object of type Held.
 
constexpr Algorithm ALG_DEFAULT = Algorithm::Default
 A deprecated constant indicating one of the available classes of algorithm.
 
constexpr Algorithm ALG_BACKTRACK = Algorithm::Backtrack
 A deprecated constant indicating one of the available classes of algorithm.
 
constexpr Algorithm ALG_TREEWIDTH = Algorithm::Treewidth
 A deprecated constant indicating one of the available classes of algorithm.
 
constexpr Algorithm ALG_NAIVE = Algorithm::Naive
 A deprecated constant indicating one of the available classes of algorithm.
 
constexpr Unprotected unprotected
 An empty object that can be used to disable Regina's in-built safety checks in some specific circumstances.
 
constexpr NormalCoords NS_STANDARD
 A deprecated alias for standard triangle-quad coordinates for normal surfaces.
 
constexpr NormalCoords NS_QUAD = NormalCoords::Quad
 A deprecated alias for quadrilateral coordinates for normal surfaces.
 
constexpr NormalCoords NS_QUAD_CLOSED
 A deprecated alias for quadrilateral coordinates in ideal triangulations for closed (non-spun) normal surfaces.
 
constexpr NormalCoords NS_AN_STANDARD
 A deprecated alias for standard triangle-quadrilateral-octagon coordinates for octagonal almost normal surfaces.
 
constexpr NormalCoords NS_AN_LEGACY
 A deprecated alias for the "coordinate system" indicating almost normal surfaces that were enumerated using Regina 4.5.1 or earlier, where surfaces with more than one octagon of the same type were stripped from solution sets.
 
constexpr NormalCoords NS_AN_QUAD_OCT
 A deprecated alias for quadrilateral-octagon coordinates for octagonal almost normal surfaces.
 
constexpr NormalCoords NS_AN_QUAD_OCT_CLOSED
 A deprecated alias for quadrilateral-octagon coordinates in ideal triangulations for closed (non-spun) octagonal almost normal surfaces.
 
constexpr NormalCoords NS_EDGE_WEIGHT
 A deprecated alias for edge weight coordinates for normal surfaces.
 
constexpr NormalCoords NS_TRIANGLE_ARCS
 A deprecated alias for triangle arc coordinates for normal surfaces.
 
constexpr NormalCoords NS_ANGLE = NormalCoords::Angle
 A deprecated alias for angle structure coordinates.
 
static constexpr NormalList NS_LIST_DEFAULT
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_EMBEDDED_ONLY
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_IMMERSED_SINGULAR
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_VERTEX
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_FUNDAMENTAL
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_LEGACY
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalList NS_CUSTOM
 A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_ALG_DEFAULT
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_VERTEX_VIA_REDUCED
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_VERTEX_STD_DIRECT
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_VERTEX_TREE
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_VERTEX_DD
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_HILBERT_PRIMAL
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_HILBERT_DUAL
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_HILBERT_CD
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_HILBERT_FULLCONE
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_ALG_LEGACY
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalAlg NS_ALG_CUSTOM
 A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.
 
static constexpr NormalTransform NS_CONV_REDUCED_TO_STD
 A deprecated constant indicating some way in which Regina can transform one normal surface list into another.
 
static constexpr NormalTransform NS_CONV_STD_TO_REDUCED
 A deprecated constant indicating some way in which Regina can transform one normal surface list into another.
 
static constexpr NormalTransform NS_FILTER_COMPATIBLE
 A deprecated constant indicating some way in which Regina can transform one normal surface list into another.
 
static constexpr NormalTransform NS_FILTER_INCOMPRESSIBLE
 A deprecated constant indicating some way in which Regina can transform one normal surface list into another.
 
static constexpr NormalTransform NS_FILTER_DISJOINT
 A deprecated constant indicating some way in which Regina can transform one normal surface list into another.
 
constexpr int quadSeparating [4][4]
 Lists which quadrilateral types separate which pairs of vertices in a tetrahedron.
 
constexpr int quadMeeting [4][4][2]
 Lists which quadrilateral types meet which edges in a tetrahedron.
 
constexpr int quadDefn [3][4]
 Lists which vertices each quadrilateral type separates in a tetrahedron.
 
constexpr int quadPartner [3][4]
 Lists the second vertex with which each vertex is paired under each quadrilateral type in a tetrahedron.
 
constexpr std::string quadString [3] = { "01/23", "02/13", "03/12" }
 Contains strings that can be used to represent each quadrilateral type in a tetrahedron.
 
constexpr Perm< 4 > triDiscArcs [4][3]
 Lists in consecutive order the directed normal arcs that form the boundary of each type of triangular normal disc.
 
constexpr Perm< 4 > quadDiscArcs [3][4]
 Lists in consecutive order the directed normal arcs that form the boundary of each type of quadrilateral normal disc.
 
constexpr Perm< 4 > octDiscArcs [3][8]
 Lists in consecutive order the directed normal arcs that form the boundary of each type of octagonal normal disc.
 
static constexpr SurfaceExport surfaceExportName
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportOrient
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportEuler
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportSides
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportBdry
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportLink
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportType
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportNone
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportAllButName
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport surfaceExportAll
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 
constexpr SurfaceFilterType NS_FILTER_LEGACY_DEFAULT
 A deprecated constant representing one of the different types of normal surface filter.
 
constexpr SurfaceFilterType NS_FILTER_PROPERTIES
 A deprecated constant representing one of the different types of normal surface filter.
 
constexpr SurfaceFilterType NS_FILTER_COMBINATION
 A deprecated constant representing one of the different types of normal surface filter.
 
constexpr TreeDecompositionAlg TD_UPPER
 A deprecated constant indicating an algorithm for computing tree decompositions.
 
constexpr TreeDecompositionAlg TD_UPPER_GREEDY_FILL_IN
 A deprecated constant indicating an algorithm for computing tree decompositions.
 
constexpr BagComparison BAG_EQUAL = BagComparison::Equal
 A deprecated constant indicating a relationship between bags in a tree decomposition.
 
constexpr BagComparison BAG_SUBSET
 A deprecated constant indicating a relationship between bags in a tree decomposition.
 
constexpr BagComparison BAG_SUPERSET
 A deprecated constant indicating a relationship between bags in a tree decomposition.
 
constexpr BagComparison BAG_UNRELATED
 A deprecated constant indicating a relationship between bags in a tree decomposition.
 
constexpr NiceType NICE_INTRODUCE = NiceType::Introduce
 A deprecated constant indicating a type of bag in a nice tree decomposition.
 
constexpr NiceType NICE_FORGET = NiceType::Forget
 A deprecated constant indicating a type of bag in a nice tree decomposition.
 
constexpr NiceType NICE_JOIN = NiceType::Join
 A deprecated constant indicating a type of bag in a nice tree decomposition.
 
constexpr char base64Table []
 The table of all base64 printable characters, as used by the base64 routines in Regina.
 
constexpr char base64Spare [] = "_-."
 A table of printable characters that are not amongst the base64 printable characters used by Regina.
 
template<typename T >
constexpr bool is_cpp_integer_v = std::is_integral_v<T>
 A compile-time boolean constant that indicates whether the type T is a native C++ integer type, allowing for 128-bit integers also.
 
template<typename T >
constexpr bool is_unsigned_cpp_integer_v
 A compile-time boolean constant that indicates whether the type T is an unsigned native C++ integer type, allowing for 128-bit integers also.
 
template<typename IntType , IntType coeff>
constexpr IntType maxSafeFactor
 The largest integer of the given type that can be multiplied by coeff without overflowing.
 
template<typename IntType , IntType coeff>
constexpr IntType minSafeFactor
 The largest integer of the given type that can be multiplied by coeff without overflowing.
 

Detailed Description

Contains the entire Regina calculation engine.

Define REGINA_VERIFY_LPDATA to check invariants as the algorithm runs.

This checking is slow and can increase the running time significantly.

Typedef Documentation

◆ safe_tuple_element

template<int pos, typename tuple , typename out_of_range = void>
using regina::safe_tuple_element
Initial value:
typename regina::detail::safe_tuple_element_impl<
pos, tuple, out_of_range>::type

An alternative to std::tuple_element that gracefully handles an out-of-range index.

If pos is a valid index into the tuple type tuple, then this type alias is identical to std::tuple_element<pos, tuple>::type. Otherwise this type alias is identical to the argument out_of_range.

Note that you should not append type when using safe_tuple_element (i.e., this is really a drop-in replacement for the C++17 type alias std::tuple_element_t, and not the C++11 structure std::tuple_element).

Template Parameters
posan index, which may take any integer value.
tuplea std::tuple type (which is allowed to include const and/or volatile modifiers).
out_of_rangethe type to use if pos is not a valid index into tuple.

Enumeration Type Documentation

◆ ChangeType

enum class regina::ChangeType
strong

Indicates different ways in which code could change a topological object, such as a link or triangulation.

Python
Not present. This enumeration is only used internally by private and/or protected class templates, and is therefore not made available to Python.
Enumerator
General 

Indicates a change that could potentially alter any aspect of the object.

PreserveTopology 

Indicates a change that could alter the representation of the object, but will not alter its topology.

Examples of such changes could include Pachner moves (which alter the triangulation but not the underlying manifold), or Reidemeister moves (which alter the link diagram but not the underlying link).

The specific meaning of "will not alter its topology" depends upon the particular type of object. See the TopologyLockable class notes for further details on what this means.

Cosmetic 

Indicates a change that is cosmetic in nature, in that it will not alter any computed properties of the object.

Examples of such changes include modifying simplex locks in triangulations, or reordering the top-dimensional simplices in a triangulation, or changing the rendering radius of a spatial link.

◆ NamedPermGroup

enum class regina::NamedPermGroup
strong

Constants that represent particular well-known classes of permutation groups.

These constants are intended to be used with permutation groups on n elements for arbitrary n. (In particular, you can pass them to the PermGroup<n> constructor.)

Enumerator
Trivial 

Represents the trivial group on n elements, containing only the identity permutation.

Symmetric 

Represents the symmetric group on n elements, containing all n! possible permutations.

Alternating 

Represents the alternating group on n elements, containing all n!/2 even permutations.

◆ PacketHeldBy

enum class regina::PacketHeldBy
strong

Internal constants that support wrapped packets.

These constants indicate whether an object of type Held is in fact part of the inherited interface for a derived class of Held, which is typically the wrapped packet type PacketOf<Held>. These constants are used as a lightweight (and significantly less rich) replacement for polymorphism, virtual functions and dynamic casts.

These constants only know about two types of relationships:

Of course, a Triangulation<3> could belong to a SnapPeaTriangulation which is then held by a PacketOf<SnapPeaTriangulation>. In this case the inherited PacketData<Triangulation<3>> will store PacketHeldBy::SnapPea, and the inherited PacketData<SnapPeaTriangulation> will store PacketHeldBy::Packet.

Python
Not present.
Enumerator
None 

Indicates that the object is not held within either a wrapped packet or a SnapPea triangulation.

Packet 

Indicates that an object of type Held is in fact the inherited data for a PacketOf<Held>.

SnapPea 

Indicates that a Triangulation<3> is in fact the inherited native Regina data for a SnapPeaTriangulation.

◆ PermOrder

enum class regina::PermOrder
strong

Represents different ways in which permutations on n objects can be ordered.

In all of these orderings, it is guaranteed that the identity permutation comes first.

Enumerator
Sign 

Indicates that permutations should be ordered by sign, beginning with the identity permutation and then alternating between even and odd permutations.

In particular, if we assign each permutation an index according to this ordering, then the identity will have index 0, all even permutations will have even indices, and all odd permutations will have odd indices.

More specifically: for each i, the permutations at indices 2i and 2i+1 will be the same under both ordering methods Sign and Lex, but they might be swapped to ensure the correct signs and/or lexicographical ordering.

PermOrder::Sign is the ordering used by Perm<n>::Sn.

Lex 

Indicates that permutations should be ordered lexicographically, beginning with the identity permutation.

Specifically, we order permutations lexicographically according to the sequence of images p[0],p[1],...,p[n-1] (where p denotes an arbitrary permutation on n objects).

PermOrder::Lex is the ordering used by Perm<n>::orderedSn.

Function Documentation

◆ pythonTypename()

const char * regina::pythonTypename ( const std::type_info * t)

Returns the preferred Python display name for the given C++ type.

The Python bindings have an internal mechanism for converting any C++ type into a suitable display name. However, for some of Regina's classes the results are not ideal.

For example, the 3-D triangulation class may be displayed as regina::Triangulation<3> instead of its "real" Python name regina.Triangulation3. (This kind of problem most commonly appears in docstrings, where function signatures are generated as each function is bound, which may happen before all of the types in the argument/return list have been bound.)

The purpose of this function is to override this default typename conversion mechanism. If the C++ type referred to by t has a known Python name that should always be used, this function will return it. Otherwise this function returns null, indicating that the default conversion mechanism should be used.

Python
Not present.
Parameters
tan object that references the C++ type whose display name we wish to obtain.
Returns
the preferred display name for this type in Python, or null if the default C++-to-Python name conversion mechanism should be used.

◆ tightDecode()

template<typename Int >
Int regina::tightDecode ( std::istream & input)
inline

Reconstructs an integer or boolean from its given tight encoding.

See the page on tight encodings for details.

The tight encoding will be read from the given input stream. If the input stream contains leading whitespace then it will be treated as an invalid encoding (i.e., this routine will throw an exception). The input stream may contain further data: if this routine is successful then the input stream will be left positioned immediately after the encoding, without skipping any trailing whitespace.

This routine does recognise infinity in the case where Int is the type regina::LargeInteger.

If Int is one of Regina's arbitrary precision integer types, then this routine is identical to calling Int::tightDecode().

Headers
Some components of this routine are implemented in a separate header (tightencoding-impl.h), which is not included automatically by this file. Most end users should not need this extra header, since Regina's calculation engine already includes explicit instantiations for all of the types that have corresponding global tightEncode() functions (i.e., bool; signed and unsigned int, long, and long long; and regina::Integer and regina::LargeInteger).
Exceptions
InvalidInputThe given input stream does not begin with a tight encoding of an integer/boolean of type Int. This includes the case where the encoding is a valid integer encoding but the integer itself is outside the allowed range for the Int type.
Python
Not present. Use regina::tightDecoding() instead, which takes a string as its argument.
Template Parameters
IntThe type of integer/boolean to reconstruct; this must be either (i) a native C++ integer type or bool, or (ii) one of Regina's arbitrary precision integer types (i.e., regina::Integer or regina::LargeInteger).
Parameters
inputan input stream that begins with the tight encoding for an integer or boolean.
Returns
the integer or boolean represented by the given tight encoding.

◆ tightDecoding()

template<typename Int >
Int regina::tightDecoding ( const std::string & enc)
inline

Reconstructs an integer or boolean from its given tight encoding.

See the page on tight encodings for details.

The tight encoding should be given as a string. If this string contains leading whitespace or any trailing characters at all (including trailing whitespace), then it will be treated as an invalid encoding (i.e., this routine will throw an exception).

This routine does recognise infinity in the case where Int is the type regina::LargeInteger.

If Int is one of Regina's arbitrary precision integer types, then this routine is identical to calling Int::tightDecoding().

Headers
Some components of this routine are implemented in a separate header (tightencoding-impl.h), which is not included automatically by this file. Most end users should not need this extra header, since Regina's calculation engine already includes explicit instantiations for all of the types that have corresponding global tightEncode() functions (i.e., bool; signed and unsigned int, long, and long long; and regina::Integer and regina::LargeInteger).
Exceptions
InvalidArgumentThe given string is not a tight encoding of an integer/boolean of type Int. This includes the case where the encoding is a valid integer encoding but the integer itself is outside the allowed range for the Int type.
Python
Since Python does not support templates, the interface for this routine is a little different. The global routine regina::tightDecoding() will return a Python integer; since these are arbitrary precision, the decoding will never encounter an out-of-range exceptions as it might with a native C++ integer type. If you are trying to reconstruct a boolean, then the integer you receive will be either 1 or 0 to represent true or false respectively. If you are trying to reconstruct one of Regina's arbitrary precision integer types, you should instead call Integer::tightDecoding() or LargeInteger::tightDecoding(), which will return a Regina integer instead of a Python integer.
Template Parameters
IntThe type of integer/boolean to reconstruct; this must be either (i) a native C++ integer type or bool, or (ii) one of Regina's arbitrary precision integer types (i.e., regina::Integer or regina::LargeInteger).
Parameters
encthe tight encoding for an integer or boolean.
Returns
the integer or boolean represented by the given tight encoding.

◆ versionPybind11Major()

int regina::versionPybind11Major ( )

Returns the major version of pybind11 that is used with Regina's python bindings.

Currently this will return either 2 or 3 (according to whether you are building against Python ≤ 3.11 or Python ≥ 3.12 respectively).

C++
Not present.
Returns
the major pybind11 version.

◆ writeResUsage()

void regina::writeResUsage ( std::ostream & out)

Writes time and memory usage for the current process to the given output stream, for use on Linux systems.

This simply writes the information gathered from resUsage() to the given output stream in a human-readable format. See resUsage() for full details on what this information means and on what systems it can be accessed.

The output will be written in the following format, with no final newline, and without flushing the output stream:

utime=..., stime=..., vsize=...

Unline resUsage(), if an error occurs then this routine will not throw an exception. Instead it will write an appropriate message to the output stream.

Python
Not present. Instead use the variant resUsage() that takes no arguments and returns a tuple.
Parameters
outthe output stream to which to write.

Variable Documentation

◆ ALG_BACKTRACK

Algorithm regina::ALG_BACKTRACK = Algorithm::Backtrack
inlineconstexpr

A deprecated constant indicating one of the available classes of algorithm.

Deprecated
This has been renamed to the scoped enumeration constant Algorithm::Backtrack.

◆ ALG_DEFAULT

Algorithm regina::ALG_DEFAULT = Algorithm::Default
inlineconstexpr

A deprecated constant indicating one of the available classes of algorithm.

Deprecated
This has been renamed to the scoped enumeration constant Algorithm::Default.

◆ ALG_NAIVE

Algorithm regina::ALG_NAIVE = Algorithm::Naive
inlineconstexpr

A deprecated constant indicating one of the available classes of algorithm.

Deprecated
This has been renamed to the scoped enumeration constant Algorithm::Naive.

◆ ALG_TREEWIDTH

Algorithm regina::ALG_TREEWIDTH = Algorithm::Treewidth
inlineconstexpr

A deprecated constant indicating one of the available classes of algorithm.

Deprecated
This has been renamed to the scoped enumeration constant Algorithm::Treewidth.

◆ AS_ALG_CUSTOM

AngleAlg regina::AS_ALG_CUSTOM
inlinestaticconstexpr
Initial value:
=
AngleAlg::Custom

A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant AngleAlg::Custom.

◆ AS_ALG_DD

AngleAlg regina::AS_ALG_DD
inlinestaticconstexpr
Initial value:
=
AngleAlg::DD

A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant AngleAlg::DD.

◆ AS_ALG_DEFAULT

AngleAlg regina::AS_ALG_DEFAULT
inlinestaticconstexpr
Initial value:
=
AngleAlg::Default

A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant AngleAlg::Default.

◆ AS_ALG_LEGACY

AngleAlg regina::AS_ALG_LEGACY
inlinestaticconstexpr
Initial value:
=
AngleAlg::Legacy

A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant AngleAlg::Legacy.

◆ AS_ALG_TREE

AngleAlg regina::AS_ALG_TREE
inlinestaticconstexpr
Initial value:
=
AngleAlg::Tree

A deprecated constant indicating an algorithm variant for enumerating angle structures on a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant AngleAlg::Tree.

◆ BAG_EQUAL

BagComparison regina::BAG_EQUAL = BagComparison::Equal
inlineconstexpr

A deprecated constant indicating a relationship between bags in a tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant BagComparison::Equal.

◆ BAG_SUBSET

BagComparison regina::BAG_SUBSET
inlineconstexpr
Initial value:
=
BagComparison::Subset

A deprecated constant indicating a relationship between bags in a tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant BagComparison::Subset.

◆ BAG_SUPERSET

BagComparison regina::BAG_SUPERSET
inlineconstexpr
Initial value:
=
BagComparison::Superset

A deprecated constant indicating a relationship between bags in a tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant BagComparison::Superset.

◆ BAG_UNRELATED

BagComparison regina::BAG_UNRELATED
inlineconstexpr
Initial value:
=
BagComparison::Unrelated

A deprecated constant indicating a relationship between bags in a tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant BagComparison::Unrelated.

◆ FRAMING_BLACKBOARD

Framing regina::FRAMING_BLACKBOARD
inlineconstexpr
Initial value:
=
Framing::Blackboard

A deprecated constant indicating one of the standard link framings.

Deprecated
This has been renamed to the scoped enumeration constant Framing::Blackboard.

◆ FRAMING_SEIFERT

Framing regina::FRAMING_SEIFERT = Framing::Seifert
inlineconstexpr

A deprecated constant indicating one of the standard link framings.

Deprecated
This has been renamed to the scoped enumeration constant Framing::Seifert.

◆ HS_ALG_CUSTOM

HyperAlg regina::HS_ALG_CUSTOM
inlinestaticconstexpr
Initial value:
=
HyperAlg::Custom

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::Custom.

◆ HS_ALG_DEFAULT

HyperAlg regina::HS_ALG_DEFAULT
inlinestaticconstexpr
Initial value:
=
HyperAlg::Default

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::Default.

◆ HS_ALG_LEGACY

HyperAlg regina::HS_ALG_LEGACY
inlinestaticconstexpr
Initial value:
=
HyperAlg::Legacy

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::Legacy.

◆ HS_CUSTOM

HyperList regina::HS_CUSTOM
inlinestaticconstexpr
Initial value:
=
HyperList::Custom

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::Custom.

◆ HS_EDGE_WEIGHT

HyperCoords regina::HS_EDGE_WEIGHT = HyperCoords::Edge
inlineconstexpr

A deprecated alias for edge weight coordinates for normal hypersurfaces.

Deprecated
This has been renamed to the scoped enumeration constant HyperCoords::Edge.

◆ HS_EMBEDDED_ONLY

HyperList regina::HS_EMBEDDED_ONLY
inlinestaticconstexpr
Initial value:
=
HyperList::EmbeddedOnly

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::EmbeddedOnly.

◆ HS_FUNDAMENTAL

HyperList regina::HS_FUNDAMENTAL
inlinestaticconstexpr
Initial value:
=
HyperList::Fundamental

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::Fundamental.

◆ HS_HILBERT_DUAL

HyperAlg regina::HS_HILBERT_DUAL
inlinestaticconstexpr
Initial value:
=
HyperAlg::HilbertDual

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::HilbertDual.

◆ HS_HILBERT_PRIMAL

HyperAlg regina::HS_HILBERT_PRIMAL
inlinestaticconstexpr
Initial value:
=
HyperAlg::HilbertPrimal

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::HilbertPrimal.

◆ HS_IMMERSED_SINGULAR

HyperList regina::HS_IMMERSED_SINGULAR
inlinestaticconstexpr
Initial value:
=
HyperList::ImmersedSingular

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::ImmersedSingular.

◆ HS_LEGACY

HyperList regina::HS_LEGACY
inlinestaticconstexpr
Initial value:
=
HyperList::Legacy

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::Legacy.

◆ HS_LIST_DEFAULT

HyperList regina::HS_LIST_DEFAULT
inlinestaticconstexpr
Initial value:
=
HyperList::Default

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::Default.

◆ HS_PRISM

HyperCoords regina::HS_PRISM = HyperCoords::Prism
inlineconstexpr

A deprecated alias for prism coordinates for normal hypersurfaces.

Deprecated
This has been renamed to the scoped enumeration constant HyperCoords::Prism.

◆ HS_STANDARD

HyperCoords regina::HS_STANDARD = HyperCoords::Standard
inlineconstexpr

A deprecated alias for standard tetrahedron-prism coordinates for normal hypersurfaces.

Deprecated
This has been renamed to the scoped enumeration constant HyperCoords::Standard.

◆ HS_VERTEX

HyperList regina::HS_VERTEX
inlinestaticconstexpr
Initial value:
=
HyperList::Vertex

A deprecated constant indicating some aspect(s) of a list of normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperList::Vertex.

◆ HS_VERTEX_DD

HyperAlg regina::HS_VERTEX_DD
inlinestaticconstexpr
Initial value:
=
HyperAlg::VertexDD

A deprecated constant indicating an algorithm variant for enumerating normal hypersurfaces in a 4-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant HyperAlg::VertexDD.

◆ NICE_FORGET

NiceType regina::NICE_FORGET = NiceType::Forget
inlineconstexpr

A deprecated constant indicating a type of bag in a nice tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant NiceType::Forget.

◆ NICE_INTRODUCE

NiceType regina::NICE_INTRODUCE = NiceType::Introduce
inlineconstexpr

A deprecated constant indicating a type of bag in a nice tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant NiceType::Introduce.

◆ NICE_JOIN

NiceType regina::NICE_JOIN = NiceType::Join
inlineconstexpr

A deprecated constant indicating a type of bag in a nice tree decomposition.

Deprecated
This has been renamed to the scoped enumeration constant NiceType::Join.

◆ NS_ALG_CUSTOM

NormalAlg regina::NS_ALG_CUSTOM
inlinestaticconstexpr
Initial value:
=
NormalAlg::Custom

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::Custom.

◆ NS_ALG_DEFAULT

NormalAlg regina::NS_ALG_DEFAULT
inlinestaticconstexpr
Initial value:
=
NormalAlg::Default

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::Default.

◆ NS_ALG_LEGACY

NormalAlg regina::NS_ALG_LEGACY
inlinestaticconstexpr
Initial value:
=
NormalAlg::Legacy

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::Legacy.

◆ NS_AN_LEGACY

NormalCoords regina::NS_AN_LEGACY
inlineconstexpr
Initial value:
=
NormalCoords::LegacyAlmostNormal

A deprecated alias for the "coordinate system" indicating almost normal surfaces that were enumerated using Regina 4.5.1 or earlier, where surfaces with more than one octagon of the same type were stripped from solution sets.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::ANLegacy.

◆ NS_AN_QUAD_OCT

NormalCoords regina::NS_AN_QUAD_OCT
inlineconstexpr
Initial value:
=
NormalCoords::QuadOct

A deprecated alias for quadrilateral-octagon coordinates for octagonal almost normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::QuadOct.

◆ NS_AN_QUAD_OCT_CLOSED

NormalCoords regina::NS_AN_QUAD_OCT_CLOSED
inlineconstexpr
Initial value:
=
NormalCoords::QuadOctClosed

A deprecated alias for quadrilateral-octagon coordinates in ideal triangulations for closed (non-spun) octagonal almost normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::QuadOctClosed.

◆ NS_AN_STANDARD

NormalCoords regina::NS_AN_STANDARD
inlineconstexpr
Initial value:
=
NormalCoords::AlmostNormal

A deprecated alias for standard triangle-quadrilateral-octagon coordinates for octagonal almost normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::AlmostNormal.

◆ NS_ANGLE

NormalCoords regina::NS_ANGLE = NormalCoords::Angle
inlineconstexpr

A deprecated alias for angle structure coordinates.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::Angle.

◆ NS_CONV_REDUCED_TO_STD

NormalTransform regina::NS_CONV_REDUCED_TO_STD
inlinestaticconstexpr
Initial value:
=
NormalTransform::ConvertReducedToStandard

A deprecated constant indicating some way in which Regina can transform one normal surface list into another.

Deprecated
This has been renamed to the scoped enumeration constant NormalTransform::ConvertReducedToStandard.

◆ NS_CONV_STD_TO_REDUCED

NormalTransform regina::NS_CONV_STD_TO_REDUCED
inlinestaticconstexpr
Initial value:
=
NormalTransform::ConvertStandardToReduced

A deprecated constant indicating some way in which Regina can transform one normal surface list into another.

Deprecated
This has been renamed to the scoped enumeration constant NormalTransform::ConvertStandardToReduced.

◆ NS_CUSTOM

NormalList regina::NS_CUSTOM
inlinestaticconstexpr
Initial value:
=
NormalList::Custom

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::Custom.

◆ NS_EDGE_WEIGHT

NormalCoords regina::NS_EDGE_WEIGHT
inlineconstexpr
Initial value:
=
NormalCoords::Edge

A deprecated alias for edge weight coordinates for normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::Edge.

◆ NS_EMBEDDED_ONLY

NormalList regina::NS_EMBEDDED_ONLY
inlinestaticconstexpr
Initial value:
=
NormalList::EmbeddedOnly

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::EmbeddedOnly.

◆ NS_FILTER_COMBINATION

SurfaceFilterType regina::NS_FILTER_COMBINATION
inlineconstexpr
Initial value:
=
SurfaceFilterType::Combination

A deprecated constant representing one of the different types of normal surface filter.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceFilterType::Combination.

◆ NS_FILTER_COMPATIBLE

NormalTransform regina::NS_FILTER_COMPATIBLE
inlinestaticconstexpr
Initial value:
=
NormalTransform::FilterCompatible

A deprecated constant indicating some way in which Regina can transform one normal surface list into another.

Deprecated
This has been renamed to the scoped enumeration constant NormalTransform::FilterCompatible.

◆ NS_FILTER_DISJOINT

NormalTransform regina::NS_FILTER_DISJOINT
inlinestaticconstexpr
Initial value:
=
NormalTransform::FilterDisjoint

A deprecated constant indicating some way in which Regina can transform one normal surface list into another.

Deprecated
This has been renamed to the scoped enumeration constant NormalTransform::FilterDisjoint.

◆ NS_FILTER_INCOMPRESSIBLE

NormalTransform regina::NS_FILTER_INCOMPRESSIBLE
inlinestaticconstexpr
Initial value:
=
NormalTransform::FilterIncompressible

A deprecated constant indicating some way in which Regina can transform one normal surface list into another.

Deprecated
This has been renamed to the scoped enumeration constant NormalTransform::FilterIncompressible.

◆ NS_FILTER_LEGACY_DEFAULT

SurfaceFilterType regina::NS_FILTER_LEGACY_DEFAULT
inlineconstexpr
Initial value:
=
SurfaceFilterType::LegacyDefault

A deprecated constant representing one of the different types of normal surface filter.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceFilterType::LegacyDefault.

◆ NS_FILTER_PROPERTIES

SurfaceFilterType regina::NS_FILTER_PROPERTIES
inlineconstexpr
Initial value:
=
SurfaceFilterType::Properties

A deprecated constant representing one of the different types of normal surface filter.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceFilterType::Properties.

◆ NS_FUNDAMENTAL

NormalList regina::NS_FUNDAMENTAL
inlinestaticconstexpr
Initial value:
=
NormalList::Fundamental

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::Fundamental.

◆ NS_HILBERT_CD

NormalAlg regina::NS_HILBERT_CD
inlinestaticconstexpr
Initial value:
=
NormalAlg::HilbertCD

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::HilbertCD.

◆ NS_HILBERT_DUAL

NormalAlg regina::NS_HILBERT_DUAL
inlinestaticconstexpr
Initial value:
=
NormalAlg::HilbertDual

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::HilbertDual.

◆ NS_HILBERT_FULLCONE

NormalAlg regina::NS_HILBERT_FULLCONE
inlinestaticconstexpr
Initial value:
=
NormalAlg::HilbertFullCone

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::HilbertFullCone.

◆ NS_HILBERT_PRIMAL

NormalAlg regina::NS_HILBERT_PRIMAL
inlinestaticconstexpr
Initial value:
=
NormalAlg::HilbertPrimal

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::HilbertPrimal.

◆ NS_IMMERSED_SINGULAR

NormalList regina::NS_IMMERSED_SINGULAR
inlinestaticconstexpr
Initial value:
=
NormalList::ImmersedSingular

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::ImmersedSingular.

◆ NS_LEGACY

NormalList regina::NS_LEGACY
inlinestaticconstexpr
Initial value:
=
NormalList::Legacy

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::Legacy.

◆ NS_LIST_DEFAULT

NormalList regina::NS_LIST_DEFAULT
inlinestaticconstexpr
Initial value:
=
NormalList::Default

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::Default.

◆ NS_QUAD

NormalCoords regina::NS_QUAD = NormalCoords::Quad
inlineconstexpr

A deprecated alias for quadrilateral coordinates for normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::Quad.

◆ NS_QUAD_CLOSED

NormalCoords regina::NS_QUAD_CLOSED
inlineconstexpr
Initial value:
=
NormalCoords::QuadClosed

A deprecated alias for quadrilateral coordinates in ideal triangulations for closed (non-spun) normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::QuadClosed.

◆ NS_STANDARD

NormalCoords regina::NS_STANDARD
inlineconstexpr
Initial value:
=
NormalCoords::Standard

A deprecated alias for standard triangle-quad coordinates for normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::Standard.

◆ NS_TRIANGLE_ARCS

NormalCoords regina::NS_TRIANGLE_ARCS
inlineconstexpr
Initial value:
=
NormalCoords::Arc

A deprecated alias for triangle arc coordinates for normal surfaces.

Deprecated
This has been renamed to the scoped enumeration constant NormalCoords::Arc.

◆ NS_VERTEX

NormalList regina::NS_VERTEX
inlinestaticconstexpr
Initial value:
=
NormalList::Vertex

A deprecated constant indicating some aspect(s) of a list of normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalList::Vertex.

◆ NS_VERTEX_DD

NormalAlg regina::NS_VERTEX_DD
inlinestaticconstexpr
Initial value:
=
NormalAlg::VertexDD

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::VertexDD.

◆ NS_VERTEX_STD_DIRECT

NormalAlg regina::NS_VERTEX_STD_DIRECT
inlinestaticconstexpr
Initial value:
=
NormalAlg::VertexStandardDirect

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::VertexStandardDirect.

◆ NS_VERTEX_TREE

NormalAlg regina::NS_VERTEX_TREE
inlinestaticconstexpr
Initial value:
=
NormalAlg::VertexTree

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::VertexTree.

◆ NS_VERTEX_VIA_REDUCED

NormalAlg regina::NS_VERTEX_VIA_REDUCED
inlinestaticconstexpr
Initial value:
=
NormalAlg::VertexViaReduced

A deprecated constant indicating an algorithm variant for enumerating normal surfaces in a 3-manifold triangulation.

Deprecated
This has been renamed to the scoped enumeration constant NormalAlg::VertexViaReduced.

◆ PACKET_ANGLESTRUCTURES

PacketType regina::PACKET_ANGLESTRUCTURES
inlineconstexpr
Initial value:
=
PacketType::AngleStructures

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::AngleStructures.

◆ PACKET_ATTACHMENT

PacketType regina::PACKET_ATTACHMENT = PacketType::Attachment
inlineconstexpr

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Attachment.

◆ PACKET_CONTAINER

PacketType regina::PACKET_CONTAINER
inlineconstexpr
Initial value:
=
PacketType::Container

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Container.

◆ PACKET_LINK

PacketType regina::PACKET_LINK = PacketType::Link
inlineconstexpr

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Link.

◆ PACKET_NONE

PacketType regina::PACKET_NONE = PacketType::None
inlineconstexpr

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::None.

◆ PACKET_NORMALHYPERSURFACES

PacketType regina::PACKET_NORMALHYPERSURFACES
inlineconstexpr
Initial value:
=
PacketType::NormalHypersurfaces

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::NormalHypersurfaces.

◆ PACKET_NORMALSURFACES

PacketType regina::PACKET_NORMALSURFACES
inlineconstexpr
Initial value:
=
PacketType::NormalSurfaces

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::NormalSurfaces.

◆ PACKET_SCRIPT

PacketType regina::PACKET_SCRIPT = PacketType::Script
inlineconstexpr

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Script.

◆ PACKET_SNAPPEATRIANGULATION

PacketType regina::PACKET_SNAPPEATRIANGULATION
inlineconstexpr
Initial value:
=
PacketType::SnapPea

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::SnapPea.

◆ PACKET_SURFACEFILTER

PacketType regina::PACKET_SURFACEFILTER
inlineconstexpr
Initial value:
=
PacketType::SurfaceFilter

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::SurfaceFilter.

◆ PACKET_TEXT

PacketType regina::PACKET_TEXT = PacketType::Text
inlineconstexpr

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Text.

◆ PACKET_TRIANGULATION2

PacketType regina::PACKET_TRIANGULATION2
inlineconstexpr
Initial value:
=
PacketType::Triangulation2

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation2.

◆ PACKET_TRIANGULATION3

PacketType regina::PACKET_TRIANGULATION3
inlineconstexpr
Initial value:
=
PacketType::Triangulation3

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation3.

◆ PACKET_TRIANGULATION4

PacketType regina::PACKET_TRIANGULATION4
inlineconstexpr
Initial value:
=
PacketType::Triangulation4

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation4.

◆ PACKET_TRIANGULATION5

PacketType regina::PACKET_TRIANGULATION5
inlineconstexpr
Initial value:
=
PacketType::Triangulation5

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation5.

◆ PACKET_TRIANGULATION6

PacketType regina::PACKET_TRIANGULATION6
inlineconstexpr
Initial value:
=
PacketType::Triangulation6

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation6.

◆ PACKET_TRIANGULATION7

PacketType regina::PACKET_TRIANGULATION7
inlineconstexpr
Initial value:
=
PacketType::Triangulation7

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation7.

◆ PACKET_TRIANGULATION8

PacketType regina::PACKET_TRIANGULATION8
inlineconstexpr
Initial value:
=
PacketType::Triangulation8

A deprecated constant representing one of the different types of packet.

Deprecated
This has been renamed to the scoped enumeration constant PacketType::Triangulation8.

◆ packetTypeHolds

template<typename Held >
PacketType regina::packetTypeHolds = PacketType::None
staticconstexpr

The packet type constant for a packet wrapping an object of type Held.

This variable is only meaningful when Held is not itself a packet type, but instead is a standalone type that can (if desired) be wrapped in a packet of type PacketOf<Held>. Examples of such types include Link and Triangulation<dim>.

In all other cases, this variable will be PacketType::None.

In particular, if Held is a full packet type itself (such as Container, Script, or PacketOf<...>), then this variable will be PacketType::None.

Python
Not present.

◆ PERM_CODE_IMAGES

PermCodeType regina::PERM_CODE_IMAGES
inlineconstexpr
Initial value:
=
PermCodeType::Images

A deprecated constant indicating a type of internal permutation code.

Deprecated
This has been renamed to the scoped enumeration constant PermCodeType::Images.

◆ PERM_CODE_INDEX

PermCodeType regina::PERM_CODE_INDEX
inlineconstexpr
Initial value:
=
PermCodeType::Index

A deprecated constant indicating a type of internal permutation code.

Deprecated
This has been renamed to the scoped enumeration constant PermCodeType::Index.

◆ PERM_GROUP_ALTERNATING

NamedPermGroup regina::PERM_GROUP_ALTERNATING
inlineconstexpr
Initial value:
=
NamedPermGroup::Alternating

A deprecated constant indicating a well-known class of permutation groups.

Deprecated
This has been renamed to the scoped enumeration constant NamedPermGroup::Alternating.

◆ PERM_GROUP_SYMMETRIC

NamedPermGroup regina::PERM_GROUP_SYMMETRIC
inlineconstexpr
Initial value:
=
NamedPermGroup::Symmetric

A deprecated constant indicating a well-known class of permutation groups.

Deprecated
This has been renamed to the scoped enumeration constant NamedPermGroup::Symmetric.

◆ PERM_GROUP_TRIVIAL

NamedPermGroup regina::PERM_GROUP_TRIVIAL
inlineconstexpr
Initial value:
=
NamedPermGroup::Trivial

A deprecated constant indicating a well-known class of permutation groups.

Deprecated
This has been renamed to the scoped enumeration constant NamedPermGroup::Trivial.

◆ PURGE_NON_MINIMAL

CensusPurge regina::PURGE_NON_MINIMAL
inlinestaticconstexpr
Initial value:
=
CensusPurge::NonMinimal

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::NonMinimal.

◆ PURGE_NON_MINIMAL_HYP

CensusPurge regina::PURGE_NON_MINIMAL_HYP
inlinestaticconstexpr
Initial value:
=
CensusPurge::NonMinimalHyp

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::NonMinimalHyp.

◆ PURGE_NON_MINIMAL_PRIME

CensusPurge regina::PURGE_NON_MINIMAL_PRIME
inlinestaticconstexpr
Initial value:
=
CensusPurge::NonMinimalPrime

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::NonMinimalPrime.

◆ PURGE_NON_PRIME

CensusPurge regina::PURGE_NON_PRIME
inlinestaticconstexpr
Initial value:
=
CensusPurge::NonPrime

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::NonPrime.

◆ PURGE_NONE

CensusPurge regina::PURGE_NONE
inlinestaticconstexpr
Initial value:
=
CensusPurge::None

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::None.

◆ PURGE_P2_REDUCIBLE

CensusPurge regina::PURGE_P2_REDUCIBLE
inlinestaticconstexpr
Initial value:
=
CensusPurge::P2Reducible

A deprecated constant indicating a class of triangulations that may be ignored by census generation algorithms.

Deprecated
This has been renamed to the scoped enumeration constant CensusPurge::P2Reducible.

◆ REGINA_BINARY_GEN_1

FileFormat regina::REGINA_BINARY_GEN_1
inlineconstexpr
Initial value:
=
FileFormat::BinaryGen1

A deprecated constant representing one of Regina's file formats.

Deprecated
This has been renamed to the scoped enumeration constant FileFormat::BinaryGen1.

◆ REGINA_CURRENT_FILE_FORMAT

FileFormat regina::REGINA_CURRENT_FILE_FORMAT
inlineconstexpr
Initial value:
=
FileFormat::Current

A deprecated constant representing one of Regina's file formats.

Deprecated
This has been renamed to the scoped enumeration constant FileFormat::Current.

◆ REGINA_XML_GEN_2

FileFormat regina::REGINA_XML_GEN_2
inlineconstexpr
Initial value:
=
FileFormat::XmlGen2

A deprecated constant representing one of Regina's file formats.

Deprecated
This has been renamed to the scoped enumeration constant FileFormat::XmlGen2.

◆ REGINA_XML_GEN_3

FileFormat regina::REGINA_XML_GEN_3
inlineconstexpr
Initial value:
=
FileFormat::XmlGen3

A deprecated constant representing one of Regina's file formats.

Deprecated
This has been renamed to the scoped enumeration constant FileFormat::XmlGen3.

◆ surfaceExportAll

SurfaceExport regina::surfaceExportAll
inlinestaticconstexpr
Initial value:
=
SurfaceExport::All

A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::All.

◆ surfaceExportAllButName

SurfaceExport regina::surfaceExportAllButName
inlinestaticconstexpr
Initial value:
=
SurfaceExport::AllButName

A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::AllButName.

◆ surfaceExportBdry

SurfaceExport regina::surfaceExportBdry
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Bdry

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Bdry.

◆ surfaceExportEuler

SurfaceExport regina::surfaceExportEuler
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Euler

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Euler.

◆ surfaceExportLink

SurfaceExport regina::surfaceExportLink
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Link

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Link.

◆ surfaceExportName

SurfaceExport regina::surfaceExportName
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Name

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Name.

◆ surfaceExportNone

SurfaceExport regina::surfaceExportNone
inlinestaticconstexpr
Initial value:
=
SurfaceExport::None

A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::None.

◆ surfaceExportOrient

SurfaceExport regina::surfaceExportOrient
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Orient

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Orient.

◆ surfaceExportSides

SurfaceExport regina::surfaceExportSides
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Sides

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Sides.

◆ surfaceExportType

SurfaceExport regina::surfaceExportType
inlinestaticconstexpr
Initial value:
=
SurfaceExport::Type

A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.

Deprecated
This has been renamed to the scoped enumeration constant SurfaceExport::Type.

◆ TD_UPPER

TreeDecompositionAlg regina::TD_UPPER
inlineconstexpr
Initial value:
=
TreeDecompositionAlg::Upper

A deprecated constant indicating an algorithm for computing tree decompositions.

Deprecated
This has been renamed to the scoped enumeration constant TreeDecompositionAlg::Upper.

◆ TD_UPPER_GREEDY_FILL_IN

TreeDecompositionAlg regina::TD_UPPER_GREEDY_FILL_IN
inlineconstexpr
Initial value:
=
TreeDecompositionAlg::UpperGreedyFillIn

A deprecated constant indicating an algorithm for computing tree decompositions.

Deprecated
This has been renamed to the scoped enumeration constant TreeDecompositionAlg::UpperGreedyFillIn.

◆ unprotected

Unprotected regina::unprotected
inlineconstexpr

An empty object that can be used to disable Regina's in-built safety checks in some specific circumstances.

See the Unprotected class notes for details.

Python
Not present. By design, Python users are not able to circumvent any of Regina's automatic checks. If speed is essential, you should be using C++.