ONE - On-device Neural Engine
Loading...
Searching...
No Matches
flatbuffers::Allocator Class Referenceabstract

#include <allocator.h>

Public Member Functions

virtual ~Allocator ()
 
virtual uint8_t * allocate (size_t size)=0
 
virtual void deallocate (uint8_t *p, size_t size)=0
 
virtual uint8_t * reallocate_downward (uint8_t *old_p, size_t old_size, size_t new_size, size_t in_use_back, size_t in_use_front)
 

Protected Member Functions

void memcpy_downward (uint8_t *old_p, size_t old_size, uint8_t *new_p, size_t new_size, size_t in_use_back, size_t in_use_front)
 

Detailed Description

Definition at line 26 of file allocator.h.

Constructor & Destructor Documentation

◆ ~Allocator()

virtual flatbuffers::Allocator::~Allocator ( )
inlinevirtual

Definition at line 28 of file allocator.h.

28{}

Member Function Documentation

◆ allocate()

virtual uint8_t * flatbuffers::Allocator::allocate ( size_t  size)
pure virtual

◆ deallocate()

virtual void flatbuffers::Allocator::deallocate ( uint8_t *  p,
size_t  size 
)
pure virtual

◆ memcpy_downward()

void flatbuffers::Allocator::memcpy_downward ( uint8_t *  old_p,
size_t  old_size,
uint8_t *  new_p,
size_t  new_size,
size_t  in_use_back,
size_t  in_use_front 
)
inlineprotected

Definition at line 57 of file allocator.h.

59 {
60 memcpy(new_p + new_size - in_use_back, old_p + old_size - in_use_back,
61 in_use_back);
62 memcpy(new_p, old_p, in_use_front);
63 }

Referenced by reallocate_downward(), and flatbuffers::grpc::SliceAllocator::reallocate_downward().

◆ reallocate_downward()

virtual uint8_t * flatbuffers::Allocator::reallocate_downward ( uint8_t *  old_p,
size_t  old_size,
size_t  new_size,
size_t  in_use_back,
size_t  in_use_front 
)
inlinevirtual

Reimplemented in flatbuffers::grpc::SliceAllocator.

Definition at line 41 of file allocator.h.

43 {
44 FLATBUFFERS_ASSERT(new_size > old_size); // vector_downward only grows
45 uint8_t *new_p = allocate(new_size);
46 memcpy_downward(old_p, old_size, new_p, new_size, in_use_back,
47 in_use_front);
48 deallocate(old_p, old_size);
49 return new_p;
50 }
#define FLATBUFFERS_ASSERT
Definition base.h:21
virtual uint8_t * allocate(size_t size)=0
virtual void deallocate(uint8_t *p, size_t size)=0
void memcpy_downward(uint8_t *old_p, size_t old_size, uint8_t *new_p, size_t new_size, size_t in_use_back, size_t in_use_front)
Definition allocator.h:57

References allocate(), deallocate(), FLATBUFFERS_ASSERT, and memcpy_downward().

Referenced by flatbuffers::ReallocateDownward().


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