VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
visutwin::canvas::ObjectPool< T > Class Template Reference

#include <core/objectPool.h>

Public Types

using Constructor = std::function<std::unique_ptr<T>()>

Public Member Functions

T * allocate ()
size_t count () const
void freeAll ()
 ObjectPool (const size_t size=1)
 ObjectPool (Constructor constructorFunc, const size_t size=1)
size_t size () const

Detailed Description

template<typename T>
class visutwin::canvas::ObjectPool< T >

Definition at line 12 of file objectPool.h.

Member Typedef Documentation

◆ Constructor

template<typename T>
using visutwin::canvas::ObjectPool< T >::Constructor = std::function<std::unique_ptr<T>()>

Definition at line 15 of file objectPool.h.

Constructor & Destructor Documentation

◆ ObjectPool() [1/2]

template<typename T>
visutwin::canvas::ObjectPool< T >::ObjectPool ( const size_t size = 1)
inlineexplicit

Definition at line 17 of file objectPool.h.

References ObjectPool(), and size().

Referenced by ObjectPool().

◆ ObjectPool() [2/2]

template<typename T>
visutwin::canvas::ObjectPool< T >::ObjectPool ( Constructor constructorFunc,
const size_t size = 1 )
inline

Definition at line 22 of file objectPool.h.

References size().

Member Function Documentation

◆ allocate()

template<typename T>
T * visutwin::canvas::ObjectPool< T >::allocate ( )
inline

Definition at line 28 of file objectPool.h.

Referenced by visutwin::canvas::Renderer::renderForwardLayer().

◆ count()

template<typename T>
size_t visutwin::canvas::ObjectPool< T >::count ( ) const
inlinenodiscard

Definition at line 41 of file objectPool.h.

◆ freeAll()

template<typename T>
void visutwin::canvas::ObjectPool< T >::freeAll ( )
inline

Definition at line 36 of file objectPool.h.

Referenced by visutwin::canvas::Renderer::renderForwardLayer().

◆ size()

template<typename T>
size_t visutwin::canvas::ObjectPool< T >::size ( ) const
inlinenodiscard

Definition at line 46 of file objectPool.h.

Referenced by ObjectPool(), and ObjectPool().


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