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

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

#include <flags_view.hxx>

Public Member Functions

constexpr ConstFlagsView (const BitmaskEnum &flags)
constexpr bool has (BitmaskEnum mask) const
constexpr bool has_all (BitmaskEnum mask) const
constexpr auto value () const -> BitmaskEnum
constexpr operator BitmaskEnum () const

Detailed Description

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

A zero-copy const view for a bitmask enum.

Provides a convenient read-only interface for checking flags.

Constructor & Destructor Documentation

◆ ConstFlagsView()

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

Member Function Documentation

◆ has()

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

◆ has_all()

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

◆ operator BitmaskEnum()

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

◆ value()

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

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