glucat
0.12.0
|
Go to the source code of this file.
Classes | |
struct | glucat::CTAssertion< bool > |
Compile time assertion. More... | |
struct | glucat::CTAssertion< true > |
class | glucat::compare_types< LHS_T, RHS_T > |
Type comparison. More... | |
class | glucat::compare_types< T, T > |
class | glucat::bool_to_type< truth_value > |
Bool to type. More... | |
Namespaces | |
glucat | |
Macros | |
#define | _GLUCAT_CTAssert(expr, msg) namespace { struct msg { glucat::CTAssertion<(expr)> ERROR_##msg; }; } |
Typedefs | |
using | glucat::index_t = int |
Size of index_t should be enough to represent LO, HI. More... | |
using | glucat::set_value_t = unsigned long |
Size of set_value_t should be enough to contain index_set<LO,HI> More... | |
Functions | |
glucat::_GLUCAT_CTAssert (std::numeric_limits< unsigned char >::radix==2, CannotDetermineBitsPerChar) const index_t BITS_PER_CHAR | |
If radix of unsigned char is not 2, we can't easily determine number of bits from sizeof. More... | |
glucat::_GLUCAT_CTAssert (_GLUCAT_BITS_PER_ULONG==BITS_PER_SET_VALUE, BitsPerULongDoesNotMatchSetValueT) const index_t DEFAULT_LO | |
Default lowest index in an index set. More... | |
template<typename LHS_T , typename RHS_T > | |
auto | glucat::pos_mod (LHS_T lhs, RHS_T rhs) -> LHS_T |
Modulo function which works reliably for lhs < 0. More... | |
Variables | |
const double | glucat::MS_PER_S = 1000.0 |
Timing constant: deprecated here - moved to test/timing.h. More... | |
const index_t | glucat::BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
Number of bits in set_value_t. More... | |
const index_t | glucat::DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
Default highest index in an index set. More... | |
#define _GLUCAT_CTAssert | ( | expr, | |
msg | |||
) | namespace { struct msg { glucat::CTAssertion<(expr)> ERROR_##msg; }; } |