flags
A simple type-safe flag template library in C++
usage
Define a flags type and flag values::
#include "type_safe_flags.hpp"
using flags::operator ""_bit;
using colour_flags_t = flags::bitfield_flag<std::uint8_t, struct color_flag_tag>;
constexpr colour_flags_t red = 0_bit;
constexpr colour_flags_t green = 1_bit;
constexpr colour_flags_t blue = 2_bit;
constexpr colour_flags_t alpha = 3_bit;
Use flags::
colour_flags_t f = ...;
if (flags & red) {
...
}
std::cout << f << "\n";
void fun(colour_flags_t);
fun(red | green);
fun({}); // zero, no flag set
On this page
Languages
C++100.0%
Contributors
BSD 3-Clause "New" or "Revised" License
Created March 28, 2018
Updated March 4, 2024