UtilsLite
Utilities for C++ programming
Loading...
Searching...
No Matches
Utils::MallocFixed< T, mem_size > Class Template Reference

Class for fixed-size memory allocation of objects. More...

#include <Malloc.hxx>

Public Types

using valueType = T
 Type alias for the type of objects managed by this allocator.
 

Public Member Functions

 MallocFixed (MallocFixed< T, mem_size > const &)=delete
 Copy constructor is deleted.
 
MallocFixed< T, mem_size > const & operator= (MallocFixed< T, mem_size > const &) const =delete
 Assignment operator is deleted.
 
 MallocFixed (string name)
 Constructor.
 
 ~MallocFixed ()=default
 Destructor.
 
void free ()
 Free memory without deallocating the pointer.
 
T * operator() (size_t sz)
 Allocate memory for sz objects and return the pointer.
 
void pop (size_t sz)
 Free memory for sz objects.
 
bool is_empty () const
 Check if the memory is fully allocated.
 

Static Public Member Functions

static size_t size ()
 Get the number of allocated objects.
 

Detailed Description

template<typename T, std::size_t mem_size>
class Utils::MallocFixed< T, mem_size >

Class for fixed-size memory allocation of objects.

This class manages memory for a fixed number of objects of type T.

Template Parameters
TThe type of objects to allocate.
mem_sizeThe fixed size of memory to allocate.

Member Typedef Documentation

◆ valueType

template<typename T, std::size_t mem_size>
using Utils::MallocFixed< T, mem_size >::valueType = T

Type alias for the type of objects managed by this allocator.

Constructor & Destructor Documentation

◆ MallocFixed() [1/2]

template<typename T, std::size_t mem_size>
Utils::MallocFixed< T, mem_size >::MallocFixed ( MallocFixed< T, mem_size > const & )
delete

Copy constructor is deleted.

◆ MallocFixed() [2/2]

template<typename T, std::size_t mem_size>
Utils::MallocFixed< T, mem_size >::MallocFixed ( string name)
inlineexplicit

Constructor.

Parameters
nameA string identifier for the allocated memory block.

◆ ~MallocFixed()

template<typename T, std::size_t mem_size>
Utils::MallocFixed< T, mem_size >::~MallocFixed ( )
default

Destructor.

Member Function Documentation

◆ free()

template<typename T, std::size_t mem_size>
void Utils::MallocFixed< T, mem_size >::free ( )
inline

Free memory without deallocating the pointer.

◆ is_empty()

template<typename T, std::size_t mem_size>
bool Utils::MallocFixed< T, mem_size >::is_empty ( ) const
inline

Check if the memory is fully allocated.

Returns
true if all memory is allocated, false otherwise.

◆ operator()()

template<typename T, std::size_t mem_size>
T * Utils::MallocFixed< T, mem_size >::operator() ( size_t sz)

Allocate memory for sz objects and return the pointer.

Parameters
szNumber of objects to allocate.
Returns
Pointer to the allocated memory.

◆ operator=()

template<typename T, std::size_t mem_size>
MallocFixed< T, mem_size > const & Utils::MallocFixed< T, mem_size >::operator= ( MallocFixed< T, mem_size > const & ) const
delete

Assignment operator is deleted.

◆ pop()

template<typename T, std::size_t mem_size>
void Utils::MallocFixed< T, mem_size >::pop ( size_t sz)

Free memory for sz objects.

Parameters
szNumber of objects to free.

◆ size()

template<typename T, std::size_t mem_size>
static size_t Utils::MallocFixed< T, mem_size >::size ( )
inlinestatic

Get the number of allocated objects.

Returns
Number of objects that can be allocated.

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