Regina 7.0 Calculation Engine
|
Contains implementation details for BitManipulator where we optimise according to the underlying data type. More...
#include <utilities/bitmanip.h>
Static Public Member Functions | |
static T | nextPermutation (T x) |
Returns the next largest integer with the same number of true bits as x. More... | |
Static Public Attributes | |
static constexpr bool | specialised = false |
Indicates whether this class is a template specialisation of BitManipulatorByType with extra optimisations. More... | |
Contains implementation details for BitManipulator where we optimise according to the underlying data type.
End users should use the BitManipulator class, not this class.
T | an unsigned integral numeric type, which we treat as a sequence of true and/or false bits. |
|
inlinestatic |
Returns the next largest integer with the same number of true
bits as x.
If x is the largest such integer (i.e., x is of the form 111...1000...0), then this routine returns 0.
x | the integer of type T to examine. |
true
bits, or 0 if this is the largest such integer.
|
staticconstexpr |
Indicates whether this class is a template specialisation of BitManipulatorByType with extra optimisations.
This compile-time constant is set to false
for the generic implementation of BitManipulatorByType, and true
for all specialisations.