Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::utils::PoolDeleter< T > Struct Template Reference

Zero-overhead deleter for ObjectPool-managed objects. More...

#include <object_pool.h>

Collaboration diagram for kcenon::common::utils::PoolDeleter< T >:
Collaboration graph

Public Member Functions

void operator() (T *ptr) const noexcept
 

Public Attributes

ObjectPool< T > * pool = nullptr
 

Detailed Description

template<typename T>
struct kcenon::common::utils::PoolDeleter< T >

Zero-overhead deleter for ObjectPool-managed objects.

Replaces std::function<void(T*)> to avoid the heap allocation that std::function requires for type-erased callables.

Definition at line 52 of file object_pool.h.

Member Function Documentation

◆ operator()()

template<typename T >
void kcenon::common::utils::PoolDeleter< T >::operator() ( T * ptr) const
inlinenoexcept

Definition at line 54 of file object_pool.h.

54 {
55 if (pool) {
56 pool->release(ptr);
57 }
58 }

References kcenon::common::utils::PoolDeleter< T >::pool.

Member Data Documentation

◆ pool

template<typename T >
ObjectPool<T>* kcenon::common::utils::PoolDeleter< T >::pool = nullptr

Definition at line 53 of file object_pool.h.

Referenced by kcenon::common::utils::PoolDeleter< T >::operator()().


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