LMMS
Loading...
Searching...
No Matches
lmms::LocklessAllocator Class Reference

#include <LocklessAllocator.h>

Inheritance diagram for lmms::LocklessAllocator:
lmms::LocklessAllocatorT< lmms::LocklessList::Element > lmms::LocklessAllocatorT< T >

Public Member Functions

 LocklessAllocator (size_t nmemb, size_t size)
virtual ~LocklessAllocator ()
voidalloc ()
void free (void *ptr)

Private Attributes

char * m_pool
size_t m_capacity
size_t m_elementSize
std::atomic_int * m_freeState
size_t m_freeStateSets
std::atomic_size_t m_available
std::atomic_size_t m_startIndex

Constructor & Destructor Documentation

◆ LocklessAllocator()

lmms::LocklessAllocator::LocklessAllocator ( size_t nmemb,
size_t size )

◆ ~LocklessAllocator()

lmms::LocklessAllocator::~LocklessAllocator ( )
virtual

Member Function Documentation

◆ alloc()

void * lmms::LocklessAllocator::alloc ( )

◆ free()

void lmms::LocklessAllocator::free ( void * ptr)

Member Data Documentation

◆ m_available

std::atomic_size_t lmms::LocklessAllocator::m_available
private

◆ m_capacity

size_t lmms::LocklessAllocator::m_capacity
private

◆ m_elementSize

size_t lmms::LocklessAllocator::m_elementSize
private

◆ m_freeState

std::atomic_int* lmms::LocklessAllocator::m_freeState
private

◆ m_freeStateSets

size_t lmms::LocklessAllocator::m_freeStateSets
private

◆ m_pool

char* lmms::LocklessAllocator::m_pool
private

◆ m_startIndex

std::atomic_size_t lmms::LocklessAllocator::m_startIndex
private

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