rapidyaml  0.10.0
parse and emit YAML, and do it fast
sample::GlobalAllocatorExample Struct Reference

Public Member Functions

void * allocate (size_t len)
 
void free (void *mem, size_t len)
 
ryml::Callbacks callbacks ()
 
 ~GlobalAllocatorExample ()
 
void check_and_reset ()
 

Static Public Member Functions

static void * s_allocate (size_t len, void *, void *this_)
 
static void s_free (void *mem, size_t len, void *this_)
 

Public Attributes

std::vector< char > memory_pool = std::vector<char>(10u * 1024u)
 
size_t num_allocs = 0
 
size_t alloc_size = 0
 
size_t corr_size = 0
 
size_t num_deallocs = 0
 
size_t dealloc_size = 0
 

Detailed Description

Definition at line 4923 of file quickstart.cpp.

Constructor & Destructor Documentation

◆ ~GlobalAllocatorExample()

sample::GlobalAllocatorExample::~GlobalAllocatorExample ( )
inline

Definition at line 4975 of file quickstart.cpp.

5003 {

Referenced by sample::sample_global_allocator().

Member Function Documentation

◆ allocate()

void* sample::GlobalAllocatorExample::allocate ( size_t  len)
inline

Definition at line 4929 of file quickstart.cpp.

4932  {
4933  ryml::id_type count = 0;
4934  const ryml::id_type stream_id = tree.root_id();
4935  CHECK(tree.num_children(stream_id) == (ryml::id_type)C4_COUNTOF(expected_json));
4936  for(ryml::id_type doc_id = tree.first_child(stream_id); doc_id != ryml::NONE; doc_id = tree.next_sibling(doc_id))
4937  CHECK(ryml::emitrs_json<std::string>(tree, doc_id) == expected_json[count++]);
4938  }
4939  }
4940 }
4941 
4942 
4943 //-----------------------------------------------------------------------------
4944 
4945 // To avoid imposing a particular type of error handling, ryml uses an
4946 // error handler callback. This enables users to use exceptions, or
4947 // setjmp()/longjmp(), or plain calls to abort(), as they see fit.
4948 //
4949 // However, it is important to note that the error callback must never
#define CHECK(predicate)
Definition: quickstart.cpp:234
RYML_ID_TYPE id_type
The type of a node id in the YAML tree; to override the default type, define the macro RYML_ID_TYPE t...
Definition: common.hpp:253
@ NONE
an index to none
Definition: common.hpp:260

Referenced by sample::sample_global_allocator().

◆ free()

void sample::GlobalAllocatorExample::free ( void *  mem,
size_t  len 
)
inline

Definition at line 4951 of file quickstart.cpp.

4964 {

Referenced by sample::sample_global_allocator().

◆ callbacks()

ryml::Callbacks sample::GlobalAllocatorExample::callbacks ( )
inline

Definition at line 4961 of file quickstart.cpp.

4964 {

Referenced by sample::sample_global_allocator().

◆ s_allocate()

static void* sample::GlobalAllocatorExample::s_allocate ( size_t  len,
void *  ,
void *  this_ 
)
inlinestatic

Definition at line 4965 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ s_free()

static void sample::GlobalAllocatorExample::s_free ( void *  mem,
size_t  len,
void *  this_ 
)
inlinestatic

Definition at line 4969 of file quickstart.cpp.

4973  {

Referenced by sample::sample_global_allocator().

◆ check_and_reset()

void sample::GlobalAllocatorExample::check_and_reset ( )
inline

Definition at line 4979 of file quickstart.cpp.

5003 {

Referenced by sample::sample_global_allocator().

Member Data Documentation

◆ memory_pool

std::vector<char> sample::GlobalAllocatorExample::memory_pool = std::vector<char>(10u * 1024u)

Definition at line 4925 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ num_allocs

size_t sample::GlobalAllocatorExample::num_allocs = 0

Definition at line 4926 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ alloc_size

size_t sample::GlobalAllocatorExample::alloc_size = 0

Definition at line 4926 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ corr_size

size_t sample::GlobalAllocatorExample::corr_size = 0

Definition at line 4926 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ num_deallocs

size_t sample::GlobalAllocatorExample::num_deallocs = 0

Definition at line 4927 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().

◆ dealloc_size

size_t sample::GlobalAllocatorExample::dealloc_size = 0

Definition at line 4927 of file quickstart.cpp.

Referenced by sample::sample_global_allocator().


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