MOS Source Code
Loading...
Searching...
No Matches
Slab< T > Struct Template Reference

#include <slab.hpp>

+ Inheritance diagram for Slab< T >:
+ Collaboration diagram for Slab< T >:

Public Member Functions

constexpr Slab (mos::string_view name=T::type_name, size_t size=sizeof(T), mos::string_view type_name=mos::getTypeName< T >())
 
 ~Slab ()
 
template<typename... Args>
T * create (Args &&...args)
 
size_t size ()
 

Private Attributes

bool registered = false
 

Additional Inherited Members

- Public Attributes inherited from slab_t
 as_linked_list
 
spinlock_t lock = SPINLOCK_INIT
 
ptr_t first_free = 0
 
size_t ent_size = 0
 
size_t nobjs = 0
 
mos::string_view name = "<unnamed>"
 
mos::string_view type_name = "<T>"
 

Detailed Description

template<typename T>
struct mos::Slab< T >

Definition at line 70 of file slab.hpp.

Constructor & Destructor Documentation

◆ Slab()

template<typename T>
Slab ( mos::string_view name = T::type_name,
size_t size = sizeof(T),
mos::string_view type_name = mos::getTypeName<T>() )
inlineconstexpr

Definition at line 72 of file slab.hpp.

+ Here is the call graph for this function:

◆ ~Slab()

template<typename T>
~Slab ( )
inline

Definition at line 79 of file slab.hpp.

Member Function Documentation

◆ create()

template<typename T>
template<typename... Args>
T * create ( Args &&... args)
inline

Definition at line 85 of file slab.hpp.

+ Here is the call graph for this function:

◆ size()

template<typename T>
size_t size ( )
inline

Definition at line 95 of file slab.hpp.

Referenced by Slab().

Member Data Documentation

◆ registered

template<typename T>
bool registered = false
private

Definition at line 101 of file slab.hpp.

Referenced by create().


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