idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
flags.hpp File Reference

Type-safe bitflags from scoped enums. More...

#include <charconv>
#include <concepts>
#include <string>
#include <type_traits>
#include <utility>
#include "sdkconfig.h"

Go to the source code of this file.

Classes

class  idfxx::flags< E >
 Type-safe set of flags from a scoped enum. More...
 

Namespaces

namespace  idfxx
 

Concepts

concept  idfxx::flag_enum
 Concept for enums that have opted into flag operators.
 

Functions

template<flag_enum E>
 idfxx::flags (E) -> flags< E >
 Class template argument deduction guide.
 
template<flag_enum E>
constexpr flags< E > idfxx::operator| (E a, E b) noexcept
 Combines two enum values into a flags object.
 
template<flag_enum E>
constexpr flags< E > idfxx::operator& (E a, E b) noexcept
 Intersects two enum values into a flags object.
 
template<flag_enum E>
constexpr flags< E > idfxx::operator^ (E a, E b) noexcept
 Toggles two enum values into a flags object.
 
template<flag_enum E>
constexpr flags< E > idfxx::operator~ (E a) noexcept
 Computes the bitwise complement of an enum value.
 
template<flag_enum E>
std::string idfxx::to_string (flags< E > f)
 Returns a hexadecimal string representation of a flags value.
 

Variables

template<typename E >
constexpr bool idfxx::enable_flags_operators = false
 Opt-in trait for enabling flag operators on an enum.
 

Detailed Description

Type-safe bitflags from scoped enums.

Definition in file flags.hpp.