17#ifndef HOOVER_CHESS_UTILS__PGN_READER__PGNREADER_PRIV_H_INCLUDED
18#define HOOVER_CHESS_UTILS__PGN_READER__PGNREADER_PRIV_H_INCLUDED
39 const unsigned int shift {
static_cast<unsigned int>(action) };
40 if (shift < 32U) [[likely]]
42 return UINT32_C(1) << shift;
55 template <
typename... Args>
78 static constexpr inline std::uint32_t
getBitMask() noexcept
PGN reader action filter (compile-time)
Definition pgnreader-priv.h:35
static constexpr std::uint32_t s_filterBits
Definition pgnreader-priv.h:62
static constexpr std::uint32_t actionsToBitmask(PgnReaderActionClass action, Args... rest) noexcept
Definition pgnreader-priv.h:56
static constexpr bool isEnabled(PgnReaderActionClass action) noexcept
Returns whether an action class is enabled.
Definition pgnreader-priv.h:69
static constexpr std::uint32_t actionsToBitmask() noexcept
Definition pgnreader-priv.h:50
static constexpr std::uint32_t actionBit(PgnReaderActionClass action) noexcept
Definition pgnreader-priv.h:37
static constexpr std::uint32_t getBitMask() noexcept
Returns a bit mask of enabled action classes. When bit N is set, action class with numeric value N is...
Definition pgnreader-priv.h:78
PgnReaderActionClass
PGN reader filterable action classes.
Definition pgnreader.h:219
Definition chessboard-types-squareset.h:30