MySQL 8.0.40
Source Code Documentation
OverflowBitset Class Reference

#include <overflow_bitset.h>

Inheritance diagram for OverflowBitset:
[legend]

Classes

struct  Ext
 

Public Member Functions

 OverflowBitset ()
 
 OverflowBitset (uint32_t bits)
 
void Clear ()
 
 OverflowBitset (const OverflowBitset &)=default
 
 OverflowBitset (OverflowBitset &&)=default
 
OverflowBitsetoperator= (const OverflowBitset &)=default
 
OverflowBitsetoperator= (OverflowBitset &&)=default
 
 OverflowBitset (MutableOverflowBitset &&)
 
OverflowBitsetoperator= (MutableOverflowBitset &&)
 
bool is_inline () const
 
bool empty ()
 
size_t capacity () const
 
MutableOverflowBitset Clone (MEM_ROOT *mem_root) const
 
bool IsContainedIn (const MEM_ROOT *mem_root) const
 

Static Public Member Functions

static MutableOverflowBitset Or (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 
static MutableOverflowBitset And (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 
static MutableOverflowBitset Xor (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 

Protected Member Functions

void InitOverflow (MEM_ROOT *mem_root, size_t capacity)
 

Static Protected Member Functions

static MutableOverflowBitset OrOverflow (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 
static MutableOverflowBitset AndOverflow (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 
static MutableOverflowBitset XorOverflow (MEM_ROOT *mem_root, OverflowBitset a, OverflowBitset b)
 

Protected Attributes

union {
   uint64_t   m_bits
 
   Ext *   m_ext
 
}; 
 

Static Protected Attributes

static constexpr int kInlineBits = sizeof(m_bits) * CHAR_BIT - 1
 

Friends

template<size_t N, class Combine >
class OverflowBitsetBitsIn
 
class MutableOverflowBitset
 
bool Overlaps (OverflowBitset a, OverflowBitset b)
 
bool OverlapsOverflow (OverflowBitset a, OverflowBitset b)
 
bool IsSubset (OverflowBitset a, OverflowBitset b)
 
bool IsSubsetOverflow (OverflowBitset a, OverflowBitset b)
 
bool IsBitSet (int bit_num, OverflowBitset x)
 
bool IsBitSetOverflow (int bit_num, OverflowBitset x)
 
bool IsEmpty (OverflowBitset x)
 
int PopulationCount (OverflowBitset x)
 
int PopulationCountOverflow (OverflowBitset x)
 

Constructor & Destructor Documentation

◆ OverflowBitset() [1/5]

OverflowBitset::OverflowBitset ( )
inline

◆ OverflowBitset() [2/5]

OverflowBitset::OverflowBitset ( uint32_t  bits)
inlineexplicit

◆ OverflowBitset() [3/5]

OverflowBitset::OverflowBitset ( const OverflowBitset )
default

◆ OverflowBitset() [4/5]

OverflowBitset::OverflowBitset ( OverflowBitset &&  )
default

◆ OverflowBitset() [5/5]

OverflowBitset::OverflowBitset ( MutableOverflowBitset &&  other)
inline

Member Function Documentation

◆ And()

MutableOverflowBitset OverflowBitset::And ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
inlinestatic

◆ AndOverflow()

MutableOverflowBitset OverflowBitset::AndOverflow ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
staticprotected

◆ capacity()

size_t OverflowBitset::capacity ( ) const
inline

◆ Clear()

void OverflowBitset::Clear ( )
inline

◆ Clone()

MutableOverflowBitset OverflowBitset::Clone ( MEM_ROOT mem_root) const
inline

◆ empty()

bool OverflowBitset::empty ( )
inline

◆ InitOverflow()

void OverflowBitset::InitOverflow ( MEM_ROOT mem_root,
size_t  capacity 
)
protected

◆ is_inline()

bool OverflowBitset::is_inline ( ) const
inline

◆ IsContainedIn()

bool OverflowBitset::IsContainedIn ( const MEM_ROOT mem_root) const
inline

◆ operator=() [1/3]

OverflowBitset & OverflowBitset::operator= ( const OverflowBitset )
default

◆ operator=() [2/3]

OverflowBitset & OverflowBitset::operator= ( MutableOverflowBitset &&  other)
inline

◆ operator=() [3/3]

OverflowBitset & OverflowBitset::operator= ( OverflowBitset &&  )
default

◆ Or()

MutableOverflowBitset OverflowBitset::Or ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
inlinestatic

◆ OrOverflow()

MutableOverflowBitset OverflowBitset::OrOverflow ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
staticprotected

◆ Xor()

MutableOverflowBitset OverflowBitset::Xor ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
inlinestatic

◆ XorOverflow()

MutableOverflowBitset OverflowBitset::XorOverflow ( MEM_ROOT mem_root,
OverflowBitset  a,
OverflowBitset  b 
)
staticprotected

Friends And Related Function Documentation

◆ IsBitSet

bool IsBitSet ( int  bit_num,
OverflowBitset  x 
)
friend

◆ IsBitSetOverflow

bool IsBitSetOverflow ( int  bit_num,
OverflowBitset  x 
)
friend

◆ IsEmpty

bool IsEmpty ( OverflowBitset  x)
friend

◆ IsSubset

bool IsSubset ( OverflowBitset  a,
OverflowBitset  b 
)
friend

◆ IsSubsetOverflow

bool IsSubsetOverflow ( OverflowBitset  a,
OverflowBitset  b 
)
friend

◆ MutableOverflowBitset

friend class MutableOverflowBitset
friend

◆ OverflowBitsetBitsIn

template<size_t N, class Combine >
friend class OverflowBitsetBitsIn
friend

◆ Overlaps

bool Overlaps ( OverflowBitset  a,
OverflowBitset  b 
)
friend

◆ OverlapsOverflow

bool OverlapsOverflow ( OverflowBitset  a,
OverflowBitset  b 
)
friend

◆ PopulationCount

int PopulationCount ( OverflowBitset  x)
friend

◆ PopulationCountOverflow

int PopulationCountOverflow ( OverflowBitset  x)
friend

Member Data Documentation

◆ 

union { ... } OverflowBitset::@104

◆ kInlineBits

constexpr int OverflowBitset::kInlineBits = sizeof(m_bits) * CHAR_BIT - 1
staticconstexprprotected

◆ m_bits

uint64_t OverflowBitset::m_bits

◆ m_ext

Ext* OverflowBitset::m_ext

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