Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::free_list_heap< Size, Limit, Base > Struct Template Reference

#include <free_list_heap.hpp>

+ Inheritance diagram for immer::free_list_heap< Size, Limit, Base >:
+ Collaboration diagram for immer::free_list_heap< Size, Limit, Base >:

Classes

struct  head_t
 

Public Types

using base_t = Base
 

Static Public Member Functions

template<typename... Tags>
static void * allocate (std::size_t size, Tags...)
 
template<typename... Tags>
static void deallocate (std::size_t size, void *data, Tags...)
 

Static Private Member Functions

static head_thead ()
 

Detailed Description

template<std::size_t Size, std::size_t Limit, typename Base>
struct immer::free_list_heap< Size, Limit, Base >

Adaptor that does not release the memory to the parent heap but instead it keeps the memory in a thread-safe global free list. Must be preceded by a with_data<free_list_node, ...> heap adaptor.

Template Parameters
SizeMaximum size of the objects to be allocated.
BaseType of the parent heap.

Definition at line 28 of file free_list_heap.hpp.

Member Typedef Documentation

◆ base_t

template<std::size_t Size, std::size_t Limit, typename Base >
using immer::free_list_heap< Size, Limit, Base >::base_t = Base

Definition at line 30 of file free_list_heap.hpp.

Member Function Documentation

◆ allocate()

template<std::size_t Size, std::size_t Limit, typename Base >
template<typename... Tags>
static void* immer::free_list_heap< Size, Limit, Base >::allocate ( std::size_t  size,
Tags...   
)
inlinestatic

◆ deallocate()

template<std::size_t Size, std::size_t Limit, typename Base >
template<typename... Tags>
static void immer::free_list_heap< Size, Limit, Base >::deallocate ( std::size_t  size,
void *  data,
Tags...   
)
inlinestatic

◆ head()

template<std::size_t Size, std::size_t Limit, typename Base >
static head_t& immer::free_list_heap< Size, Limit, Base >::head ( )
inlinestaticprivate

The documentation for this struct was generated from the following file:
Released under the MIT license