Regina 7.4 Calculation Engine
regina::Unprotected Struct Reference

An empty type that can be used to disable in-built safety checks in some specific circumstances. More...

#include <regina-core.h>

Public Member Functions

 Unprotected ()=default
 Creates a new empty object.
 

Detailed Description

An empty type that can be used to disable in-built safety checks in some specific circumstances.

There are many settings in which Regina checks that an operation is safe or legal before performing it. However, in some settings these checks are expensive. Therefore some particular functions may offer a variant that takes an extra Unprotected argument, allowing the programmer to indicate that they promise the checks will succeed, and there is no need to perform them.

An example is Pachner moves on triangulations, where the legality check becomes expensive when operating on a face of large codimension.

Functions that offer an unprotected variant are rare, and are typically functions that are used in speed-critical scenarios (such as Pachner moves being used as atomic operations within larger composite moves and/or simplification algorithms).

The Unprotected type itself is an empty type. Typically you would just use the constant regina::unprotected.

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++.

Constructor & Destructor Documentation

◆ Unprotected()

regina::Unprotected::Unprotected ( )
explicitdefault

Creates a new empty object.

Typically there is no need to create your own objects; you can just use the constant regina::unprotected.


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