Regina 7.3 Calculation Engine
Public Member Functions | Public Attributes | List of all members
regina::SFSFibre Struct Reference

Represents an exceptional (alpha, beta) fibre in a Seifert fibred space. More...

#include <manifold/sfs.h>

Public Member Functions

 SFSFibre ()=default
 Creates a new uninitialised exceptional fibre. More...
 
 SFSFibre (long newAlpha, long newBeta)
 Creates a new exceptional fibre with the given parameters. More...
 
 SFSFibre (const SFSFibre &cloneMe)=default
 Creates a new exceptional fibre that is a clone of the given fibre. More...
 
SFSFibreoperator= (const SFSFibre &cloneMe)=default
 Makes this exceptional fibre a clone of the given fibre. More...
 
bool operator== (const SFSFibre &compare) const
 Determines if this and the given exceptional fibre are identical. More...
 
bool operator!= (const SFSFibre &compare) const
 Determines if this and the given exceptional fibre are different. More...
 
bool operator< (const SFSFibre &compare) const
 Determines if this exceptional fibre is smaller than the given fibre. More...
 

Public Attributes

long alpha
 The first parameter of this (alpha, beta) fibre. More...
 
long beta
 The second parameter of this (alpha, beta) fibre. More...
 

Detailed Description

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.

Warning
In Regina 4.2.1 and earlier, this class was named NExceptionalFibre. The new SFSFibre class was introduced with Regina 4.3, and has changed its behaviour (in particular, the natural ordering of fibres has changed). Code that was written to work with the old NExceptionalFibre class should be looked at closely before being adapted to the new SFSFibre class (i.e., it may require more than just substituting class names).

Constructor & Destructor Documentation

◆ SFSFibre() [1/3]

regina::SFSFibre::SFSFibre ( )
default

Creates a new uninitialised exceptional fibre.

◆ SFSFibre() [2/3]

regina::SFSFibre::SFSFibre ( long  newAlpha,
long  newBeta 
)
inline

Creates a new exceptional fibre with the given parameters.

Parameters
newAlphathe first parameter (the index) of this exceptional fibre; this must be strictly positive.
newBetathe second parameter of this exceptional fibre; this must have no common factors with the first parameter newAlpha.

◆ SFSFibre() [3/3]

regina::SFSFibre::SFSFibre ( const SFSFibre cloneMe)
default

Creates a new exceptional fibre that is a clone of the given fibre.

Parameters
cloneMethe exceptional fibre to clone.

Member Function Documentation

◆ operator!=()

bool regina::SFSFibre::operator!= ( const SFSFibre compare) const
inline

Determines if this and the given exceptional fibre are different.

This requires the fibres to have different values for alpha and/or to have different values for beta.

Parameters
comparethe fibre with which this will be compared.
Returns
true if and only if this and the given fibre are different.

◆ operator<()

bool regina::SFSFibre::operator< ( const SFSFibre compare) const
inline

Determines if this exceptional fibre is smaller than the given fibre.

Fibres are sorted by alpha and then by beta.

Parameters
comparethe fibre with which this will be compared.
Returns
true if and only if this is smaller than the given fibre.

◆ operator=()

SFSFibre & regina::SFSFibre::operator= ( const SFSFibre cloneMe)
default

Makes this exceptional fibre a clone of the given fibre.

Parameters
cloneMethe exceptional fibre to clone.

◆ operator==()

bool regina::SFSFibre::operator== ( const SFSFibre compare) const
inline

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.

Parameters
comparethe fibre with which this will be compared.
Returns
true if and only if this and the given fibre are identical.

Member Data Documentation

◆ alpha

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.

◆ beta

long regina::SFSFibre::beta

The second parameter of this (alpha, beta) fibre.

This parameter must have no common factors with alpha.


The documentation for this struct was generated from the following file:

Copyright © 1999-2023, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).