Skip to content

Class lockfree::bitmap

ClassList > lockfree > bitmap

  • #include <lockfree_bitmap.hpp>

Public Types

Type Name
enum chunking_style

Public Attributes

Type Name
std::atomic< unsigned int > * bitfield
int entry_count
std::atomic< int > entry_count_in_use
std::atomic< unsigned int > start_idx
chunking_style style
float usage_threshold

Public Static Attributes

Type Name
const float FULL_USAGE_RATIO = 1.0f
const float NINTETYFIVE_PERCENTILE_USAGE_RATIO = 0.95f

Public Functions

Type Name
bitmap ()
void destroy ()
void free_entry (int entry_idx)
int get_entry ()
void init (chunking_style style, int entries_count, float usage_ratio)
bool is_full () const
~bitmap ()

Public Types Documentation

enum chunking_style

enum lockfree::bitmap::chunking_style {
    ONE_CHUNK = 0,
    LIST_OF_CHUNKS
};

Public Attributes Documentation

variable bitfield

std::atomic<unsigned int>* lockfree::bitmap::bitfield;

variable entry_count

int lockfree::bitmap::entry_count;

variable entry_count_in_use

std::atomic<int> lockfree::bitmap::entry_count_in_use;

variable start_idx

std::atomic<unsigned int> lockfree::bitmap::start_idx;

variable style

chunking_style lockfree::bitmap::style;

variable usage_threshold

float lockfree::bitmap::usage_threshold;

Public Static Attributes Documentation

variable FULL_USAGE_RATIO

const float lockfree::bitmap::FULL_USAGE_RATIO;

variable NINTETYFIVE_PERCENTILE_USAGE_RATIO

const float lockfree::bitmap::NINTETYFIVE_PERCENTILE_USAGE_RATIO;

Public Functions Documentation

function bitmap

lockfree::bitmap::bitmap () 

function destroy

void lockfree::bitmap::destroy () 

function free_entry

void lockfree::bitmap::free_entry (
    int entry_idx
) 

function get_entry

int lockfree::bitmap::get_entry () 

function init

void lockfree::bitmap::init (
    chunking_style style,
    int entries_count,
    float usage_ratio
) 

function is_full

bool lockfree::bitmap::is_full () const

function ~bitmap

lockfree::bitmap::~bitmap () 


The documentation for this class was generated from the following file cubrid/src/base/lockfree_bitmap.hpp