Regina 7.3 Calculation Engine
|
A do-nothing class that bans no coordinates and marks no coordinates. More...
#include <enumerate/treeconstraint.h>
Public Member Functions | |
template<class LPConstraint > | |
BanNone (const LPInitialTableaux< LPConstraint > &) | |
template<class LPConstraint , typename IntType > | |
void | enforceBans (LPData< LPConstraint, IntType > &) const |
bool | operator== (const BanNone &) const |
bool | operator!= (const BanNone &) const |
void | writeTextShort (std::ostream &out) const |
bool | marked (size_t) const |
void | writeTextLong (std::ostream &out) const |
A default implementation for detailed output. More... | |
std::string | str () const |
Returns a short text representation of this object. More... | |
std::string | utf8 () const |
Returns a short text representation of this object using unicode characters. More... | |
std::string | detail () const |
Returns a detailed text representation of this object. More... | |
Static Public Member Functions | |
static bool | supported (NormalEncoding) |
A do-nothing class that bans no coordinates and marks no coordinates.
This is intended to act as a drop-in replacement for a "real" BanConstraint class (i.e., a subclass of BanConstraintBase). However, to avoid any overhead in this trivial case, BanNone does not derive from BanConstraintBase, and all of its routines do nothing at all.
See the BanConstraintBase class notes for details on the interface that this class adheres to.
These ban constraint classes are designed mainly to act as C++ template arguments, and end users will typically not need to construct their own object of these classes. Instead, to use a ban constraint class, pass it as a template parameter to one of the tree traversal subclasses (e.g., TreeEnumeration, TreeSingleSolution, or TautEnumeration).
TreeEnumeration_NonSpun
, TreeSingleSoln_EulerPositive
and TautEnumeration
use this do-nothing BanNone class. See the BanConstraintBase class notes for further details on accessing other types of ban constraints from within Python.
|
inherited |
Returns a detailed text representation of this object.
This text may span many lines, and should provide the user with all the information they could want. It should be human-readable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.
|
inherited |
Returns a short text representation of this object.
This text should be human-readable, should use plain ASCII characters where possible, and should not contain any newlines.
Within these limits, this short text ouptut should be as information-rich as possible, since in most cases this forms the basis for the Python __str__()
and __repr__()
functions.
__str__()
will use precisely this function, and for most classes the Python __repr__()
function will incorporate this into its output.
|
inherited |
Returns a short text representation of this object using unicode characters.
Like str(), this text should be human-readable, should not contain any newlines, and (within these constraints) should be as information-rich as is reasonable.
Unlike str(), this function may use unicode characters to make the output more pleasant to read. The string that is returned will be encoded in UTF-8.
|
inlineinherited |
A default implementation for detailed output.
This routine simply calls T::writeTextShort() and appends a final newline.
out | the output stream to which to write. |