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 ()=default
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 69 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 71 of file slab.hpp.

Here is the call graph for this function:

◆ ~Slab()

template<typename T>
~Slab ( )
default

Member Function Documentation

◆ create()

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

Definition at line 81 of file slab.hpp.

Here is the call graph for this function:

◆ size()

template<typename T>
size_t size ( )
inline

Definition at line 91 of file slab.hpp.

Referenced by Slab().

Member Data Documentation

◆ registered

template<typename T>
bool registered = false
private

Definition at line 97 of file slab.hpp.

Referenced by create().


The documentation for this struct was generated from the following file:
  • kernel/include/private/mos/mm/slab.hpp