v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT > Class Template Referencefinal

#include <flags.h>

Collaboration diagram for v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >:

Public Types

using flag_type = EnumT
 
using mask_type = BitfieldT
 

Public Member Functions

constexpr Flags ()
 
constexpr Flags (flag_type flag)
 
constexpr Flags (mask_type mask)
 
constexpr bool operator== (flag_type flag) const
 
constexpr bool operator!= (flag_type flag) const
 
Flagsoperator&= (const Flags &flags)
 
Flagsoperator|= (const Flags &flags)
 
Flagsoperator^= (const Flags &flags)
 
constexpr Flags operator& (const Flags &flags) const
 
constexpr Flags operator| (const Flags &flags) const
 
constexpr Flags operator^ (const Flags &flags) const
 
Flagsoperator&= (flag_type flag)
 
Flagsoperator|= (flag_type flag)
 
Flagsoperator^= (flag_type flag)
 
Flagsset (flag_type flag, bool value)
 
constexpr Flags operator& (flag_type flag) const
 
constexpr Flags operator| (flag_type flag) const
 
constexpr Flags operator^ (flag_type flag) const
 
constexpr Flags operator~ () const
 
constexpr operator mask_type () const
 
constexpr bool operator! () const
 
Flags without (flag_type flag) const
 

Private Attributes

BitfieldStorageT mask_
 

Friends

size_t hash_value (const Flags &flags)
 

Detailed Description

template<typename EnumT, typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
class v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >

Definition at line 25 of file flags.h.

Member Typedef Documentation

◆ flag_type

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
using v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::flag_type = EnumT

Definition at line 28 of file flags.h.

◆ mask_type

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
using v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::mask_type = BitfieldT

Definition at line 29 of file flags.h.

Constructor & Destructor Documentation

◆ Flags() [1/3]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::Flags ( )
inlineconstexpr

Definition at line 31 of file flags.h.

Here is the caller graph for this function:

◆ Flags() [2/3]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::Flags ( flag_type flag)
inlineconstexpr

Definition at line 32 of file flags.h.

◆ Flags() [3/3]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::Flags ( mask_type mask)
inlineexplicitconstexpr

Definition at line 34 of file flags.h.

Member Function Documentation

◆ operator mask_type()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator mask_type ( ) const
inlineconstexpr

Definition at line 89 of file flags.h.

◆ operator!()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
bool v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator! ( ) const
inlineconstexpr

Definition at line 90 of file flags.h.

◆ operator!=()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
bool v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator!= ( flag_type flag) const
inlineconstexpr

Definition at line 40 of file flags.h.

◆ operator&() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator& ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags) const
inlineconstexpr

Definition at line 57 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator&() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator& ( flag_type flag) const
inlineconstexpr

Definition at line 77 of file flags.h.

Here is the call graph for this function:

◆ operator&=() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator&= ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags)
inline

Definition at line 44 of file flags.h.

Here is the caller graph for this function:

◆ operator&=() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator&= ( flag_type flag)
inline

Definition at line 67 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator==()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
bool v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator== ( flag_type flag) const
inlineconstexpr

Definition at line 37 of file flags.h.

◆ operator^() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator^ ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags) const
inlineconstexpr

Definition at line 63 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator^() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator^ ( flag_type flag) const
inlineconstexpr

Definition at line 83 of file flags.h.

Here is the call graph for this function:

◆ operator^=() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator^= ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags)
inline

Definition at line 52 of file flags.h.

◆ operator^=() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator^= ( flag_type flag)
inline

Definition at line 69 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator|() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator| ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags) const
inlineconstexpr

Definition at line 60 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator|() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator| ( flag_type flag) const
inlineconstexpr

Definition at line 80 of file flags.h.

Here is the call graph for this function:

◆ operator|=() [1/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator|= ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags)
inline

Definition at line 48 of file flags.h.

Here is the caller graph for this function:

◆ operator|=() [2/2]

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator|= ( flag_type flag)
inline

Definition at line 68 of file flags.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator~()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::operator~ ( ) const
inlineconstexpr

Definition at line 87 of file flags.h.

Here is the call graph for this function:

◆ set()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags & v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::set ( flag_type flag,
bool value )
inline

Definition at line 72 of file flags.h.

Here is the call graph for this function:

◆ without()

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
Flags v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::without ( flag_type flag) const
inline

Definition at line 92 of file flags.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ hash_value

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
size_t hash_value ( const Flags< EnumT, BitfieldT, BitfieldStorageT > & flags)
friend

Definition at line 94 of file flags.h.

Member Data Documentation

◆ mask_

template<typename EnumT , typename BitfieldT = int, typename BitfieldStorageT = BitfieldT>
BitfieldStorageT v8::base::Flags< EnumT, BitfieldT, BitfieldStorageT >::mask_
private

Definition at line 97 of file flags.h.


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