Classes | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
google::protobuf.internal::ArenaImpl Class Reference

#include <arena_impl.h>

Classes

class  Block
 
struct  CleanupChunk
 
struct  CleanupNode
 
struct  Options
 
class  SerialArena
 
struct  ThreadCache
 

Public Member Functions

void AddCleanup (void *elem, void(*cleanup)(void *))
 
voidAllocateAligned (size_t n)
 
voidAllocateAlignedAndAddCleanup (size_t n, void(*cleanup)(void *))
 
template<typename O >
 ArenaImpl (const O &options)
 
uint64 Reset ()
 
uint64 SpaceAllocated () const
 
uint64 SpaceUsed () const
 
 ~ArenaImpl ()
 

Static Public Attributes

static const size_t kBlockHeaderSize
 
static const size_t kSerialArenaSize
 

Private Member Functions

void AddCleanupFallback (void *elem, void(*cleanup)(void *))
 
voidAllocateAlignedAndAddCleanupFallback (size_t n, void(*cleanup)(void *))
 
voidAllocateAlignedFallback (size_t n)
 
 ArenaImpl (ArenaImpl &&)=delete
 
void CacheSerialArena (SerialArena *serial)
 
void CleanupList ()
 
uint64 FreeBlocks ()
 
SerialArenaGetSerialArena ()
 
SerialArenaGetSerialArenaFallback (void *me)
 
bool GetSerialArenaFast (SerialArena **arena)
 
 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS (ArenaImpl)
 
void Init ()
 
BlockNewBlock (Block *last_block, size_t min_bytes)
 
ArenaImploperator= (ArenaImpl &&)=delete
 

Static Private Member Functions

static ThreadCachethread_cache ()
 

Private Attributes

std::atomic< SerialArena * > hint_
 
Blockinitial_block_
 
LifecycleId lifecycle_id_
 
Options options_
 
std::atomic< size_t > space_allocated_
 
std::atomic< SerialArena * > threads_
 

Static Private Attributes

static std::atomic< LifecycleIdlifecycle_id_generator_
 
static GOOGLE_THREAD_LOCAL ThreadCache thread_cache_ = {-1, NULL}
 

Detailed Description

Definition at line 66 of file arena_impl.h.

Constructor & Destructor Documentation

◆ ArenaImpl() [1/2]

template<typename O >
google::protobuf.internal::ArenaImpl::ArenaImpl ( const O &  options)
inlineexplicit

Definition at line 87 of file arena_impl.h.

◆ ~ArenaImpl()

google::protobuf.internal::ArenaImpl::~ArenaImpl ( )

Definition at line 92 of file arena.cc.

◆ ArenaImpl() [2/2]

google::protobuf.internal::ArenaImpl::ArenaImpl ( ArenaImpl &&  )
privatedelete

Member Function Documentation

◆ AddCleanup()

void google::protobuf.internal::ArenaImpl::AddCleanup ( void elem,
void(*)(void *)  cleanup 
)

Definition at line 167 of file arena.cc.

◆ AddCleanupFallback()

PROTOBUF_NOINLINE void google::protobuf.internal::ArenaImpl::AddCleanupFallback ( void elem,
void(*)(void *)  cleanup 
)
private

Definition at line 188 of file arena.cc.

◆ AllocateAligned()

void * google::protobuf.internal::ArenaImpl::AllocateAligned ( size_t  n)

Definition at line 148 of file arena.cc.

◆ AllocateAlignedAndAddCleanup()

void * google::protobuf.internal::ArenaImpl::AllocateAlignedAndAddCleanup ( size_t  n,
void(*)(void *)  cleanup 
)

Definition at line 157 of file arena.cc.

◆ AllocateAlignedAndAddCleanupFallback()

PROTOBUF_NOINLINE void * google::protobuf.internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback ( size_t  n,
void(*)(void *)  cleanup 
)
private

Definition at line 182 of file arena.cc.

◆ AllocateAlignedFallback()

PROTOBUF_NOINLINE void * google::protobuf.internal::ArenaImpl::AllocateAlignedFallback ( size_t  n)
private

Definition at line 177 of file arena.cc.

◆ CacheSerialArena()

void google::protobuf.internal::ArenaImpl::CacheSerialArena ( SerialArena serial)
inlineprivate

Definition at line 274 of file arena_impl.h.

◆ CleanupList()

void google::protobuf.internal::ArenaImpl::CleanupList ( )
private

Definition at line 311 of file arena.cc.

◆ FreeBlocks()

uint64 google::protobuf.internal::ArenaImpl::FreeBlocks ( )
private

Definition at line 264 of file arena.cc.

◆ GetSerialArena()

ArenaImpl::SerialArena * google::protobuf.internal::ArenaImpl::GetSerialArena ( )
private

Definition at line 214 of file arena.cc.

◆ GetSerialArenaFallback()

PROTOBUF_NOINLINE ArenaImpl::SerialArena * google::protobuf.internal::ArenaImpl::GetSerialArenaFallback ( void me)
private

Definition at line 366 of file arena.cc.

◆ GetSerialArenaFast()

PROTOBUF_ALWAYS_INLINE bool google::protobuf.internal::ArenaImpl::GetSerialArenaFast ( ArenaImpl::SerialArena **  arena)
inlineprivate

Definition at line 192 of file arena.cc.

◆ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS()

google::protobuf.internal::ArenaImpl::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS ( ArenaImpl  )
private

◆ Init()

void google::protobuf.internal::ArenaImpl::Init ( )
private

Definition at line 69 of file arena.cc.

◆ NewBlock()

ArenaImpl::Block * google::protobuf.internal::ArenaImpl::NewBlock ( Block last_block,
size_t  min_bytes 
)
private

Definition at line 109 of file arena.cc.

◆ operator=()

ArenaImpl& google::protobuf.internal::ArenaImpl::operator= ( ArenaImpl &&  )
privatedelete

◆ Reset()

uint64 google::protobuf.internal::ArenaImpl::Reset ( )

Definition at line 99 of file arena.cc.

◆ SpaceAllocated()

uint64 google::protobuf.internal::ArenaImpl::SpaceAllocated ( ) const

Definition at line 239 of file arena.cc.

◆ SpaceUsed()

uint64 google::protobuf.internal::ArenaImpl::SpaceUsed ( ) const

Definition at line 243 of file arena.cc.

◆ thread_cache()

static ThreadCache& google::protobuf.internal::ArenaImpl::thread_cache ( )
inlinestaticprivate

Definition at line 263 of file arena_impl.h.

Member Data Documentation

◆ hint_

std::atomic<SerialArena*> google::protobuf.internal::ArenaImpl::hint_
private

Definition at line 286 of file arena_impl.h.

◆ initial_block_

Block* google::protobuf.internal::ArenaImpl::initial_block_
private

Definition at line 289 of file arena_impl.h.

◆ kBlockHeaderSize

const size_t google::protobuf.internal::ArenaImpl::kBlockHeaderSize
static
Initial value:
=
(sizeof(Block) + 7) & static_cast<size_t>(-8)

Definition at line 310 of file arena_impl.h.

◆ kSerialArenaSize

const size_t google::protobuf.internal::ArenaImpl::kSerialArenaSize
static
Initial value:
=
(sizeof(SerialArena) + 7) & static_cast<size_t>(-8)

Definition at line 312 of file arena_impl.h.

◆ lifecycle_id_

LifecycleId google::protobuf.internal::ArenaImpl::lifecycle_id_
private

Definition at line 297 of file arena_impl.h.

◆ lifecycle_id_generator_

std::atomic< LifecycleId > google::protobuf.internal::ArenaImpl::lifecycle_id_generator_
staticprivate

Definition at line 251 of file arena_impl.h.

◆ options_

Options google::protobuf.internal::ArenaImpl::options_
private

Definition at line 299 of file arena_impl.h.

◆ space_allocated_

std::atomic<size_t> google::protobuf.internal::ArenaImpl::space_allocated_
private

Definition at line 287 of file arena_impl.h.

◆ thread_cache_

GOOGLE_THREAD_LOCAL ArenaImpl::ThreadCache google::protobuf.internal::ArenaImpl::thread_cache_ = {-1, NULL}
staticprivate

Definition at line 262 of file arena_impl.h.

◆ threads_

std::atomic<SerialArena*> google::protobuf.internal::ArenaImpl::threads_
private

Definition at line 285 of file arena_impl.h.


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


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:09