MySQL 9.3.0
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
 
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)
 Is 'a' a subset of 'b'? More...
 
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)
 Find the nuber of bits set in 'x'. More...
 
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

◆ 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

Is 'a' a subset of 'b'?

◆ 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

Find the nuber of bits set in 'x'.

◆ PopulationCountOverflow

int PopulationCountOverflow ( OverflowBitset  x)
friend

Member Data Documentation

◆ 

union { ... } OverflowBitset::@119

◆ 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: