Regina 7.4 Calculation Engine
|
Represents an exceptional (alpha, beta) fibre in a Seifert fibred space. More...
#include <manifold/sfs.h>
Public Member Functions | |
constexpr | SFSFibre ()=default |
Creates a new uninitialised exceptional fibre. | |
constexpr | SFSFibre (long newAlpha, long newBeta) |
Creates a new exceptional fibre with the given parameters. | |
constexpr | SFSFibre (const SFSFibre &)=default |
Creates a new exceptional fibre that is a clone of the given fibre. | |
SFSFibre & | operator= (const SFSFibre &)=default |
Makes this exceptional fibre a clone of the given fibre. | |
constexpr bool | operator== (const SFSFibre &) const =default |
Determines if this and the given exceptional fibre are identical. | |
constexpr std::strong_ordering | operator<=> (const SFSFibre &) const =default |
Compares two exceptional fibres. | |
Public Attributes | |
long | alpha |
The first parameter of this (alpha, beta) fibre. | |
long | beta |
The second parameter of this (alpha, beta) fibre. | |
Represents an exceptional (alpha, beta) fibre in a Seifert fibred space.
The first parameter alpha must be strictly positive, and the two parameters alpha and beta must be coprime.
Note that we allow regular fibres with alpha = 1, and we do not impose range limits on beta (thus beta may be negative, or it may be larger than alpha). This is to allow more flexibility in routines such as SFSpace::insertFibre().
These objects are small enough to pass by value and swap with std::swap(), with no need for any specialised move operations or swap functions.
|
constexprdefault |
Creates a new uninitialised exceptional fibre.
|
inlineconstexpr |
Creates a new exceptional fibre with the given parameters.
newAlpha | the first parameter (the index) of this exceptional fibre; this must be strictly positive. |
newBeta | the second parameter of this exceptional fibre; this must have no common factors with the first parameter newAlpha. |
|
constexprdefault |
Creates a new exceptional fibre that is a clone of the given fibre.
|
constexprdefault |
Compares two exceptional fibres.
Fibres are ordered first by alpha and then by beta.
This generates all of the usual comparison operators, including <
, <=
, >
, and >=
.
x <=> y
is not available, but the other comparison operators that it generates are available.Makes this exceptional fibre a clone of the given fibre.
|
constexprdefault |
Determines if this and the given exceptional fibre are identical.
This requires both fibres to have the same values for alpha and the same values for beta.
true
if and only if this and the given fibre are identical. long regina::SFSFibre::alpha |
The first parameter of this (alpha, beta) fibre.
Note that this is the index of the exceptional fibre. This parameter must always be strictly positive.
long regina::SFSFibre::beta |
The second parameter of this (alpha, beta) fibre.
This parameter must have no common factors with alpha.