VBVX 0.1.0
Header-only C++23 library for safe, zero-copy parsing of packet buffers.
Loading...
Searching...
No Matches
vbvx::FlagsView< BitmaskEnum > Class Template Reference

A zero-copy mutable view for a bitmask enum. More...

#include <flags_view.hxx>

Public Member Functions

constexpr FlagsView (BitmaskEnum &flags)
constexpr auto set (BitmaskEnum mask) -> FlagsView &
constexpr auto clear (BitmaskEnum mask) -> FlagsView &
constexpr auto toggle (BitmaskEnum mask) -> FlagsView &
constexpr auto reset () -> FlagsView &
constexpr bool has (BitmaskEnum mask) const
constexpr bool has_all (BitmaskEnum mask) const
constexpr auto value () const -> BitmaskEnum
constexpr operator BitmaskEnum () const
constexpr operator ConstFlagsView< BitmaskEnum > () const

Detailed Description

template<typename BitmaskEnum>
requires std::is_enum_v<BitmaskEnum>
class vbvx::FlagsView< BitmaskEnum >

A zero-copy mutable view for a bitmask enum.

Provides a convenient, chainable interface for modifying and checking flags.

Constructor & Destructor Documentation

◆ FlagsView()

template<typename BitmaskEnum>
vbvx::FlagsView< BitmaskEnum >::FlagsView ( BitmaskEnum & flags)
inlineexplicitconstexpr

Member Function Documentation

◆ clear()

template<typename BitmaskEnum>
auto vbvx::FlagsView< BitmaskEnum >::clear ( BitmaskEnum mask) -> FlagsView &
inlineconstexpr

◆ has()

template<typename BitmaskEnum>
bool vbvx::FlagsView< BitmaskEnum >::has ( BitmaskEnum mask) const
inlineconstexpr

◆ has_all()

template<typename BitmaskEnum>
bool vbvx::FlagsView< BitmaskEnum >::has_all ( BitmaskEnum mask) const
inlineconstexpr

◆ operator BitmaskEnum()

template<typename BitmaskEnum>
vbvx::FlagsView< BitmaskEnum >::operator BitmaskEnum ( ) const
inlineconstexpr

◆ operator ConstFlagsView< BitmaskEnum >()

template<typename BitmaskEnum>
vbvx::FlagsView< BitmaskEnum >::operator ConstFlagsView< BitmaskEnum > ( ) const
inlineconstexpr

◆ reset()

template<typename BitmaskEnum>
auto vbvx::FlagsView< BitmaskEnum >::reset ( ) -> FlagsView &
inlineconstexpr

◆ set()

template<typename BitmaskEnum>
auto vbvx::FlagsView< BitmaskEnum >::set ( BitmaskEnum mask) -> FlagsView &
inlineconstexpr

◆ toggle()

template<typename BitmaskEnum>
auto vbvx::FlagsView< BitmaskEnum >::toggle ( BitmaskEnum mask) -> FlagsView &
inlineconstexpr

◆ value()

template<typename BitmaskEnum>
auto vbvx::FlagsView< BitmaskEnum >::value ( ) const -> BitmaskEnum
inlineconstexpr

The documentation for this class was generated from the following file: