libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::ObjectPool< T > Class Template Referenceabstract

#include <libosmscout/include/osmscout/util/ObjectPool.h>

Public Types

using Ptr = std::unique_ptr<T, std::function<void(T*)>>

Public Member Functions

 ObjectPool (size_t maxSize)
virtual ~ObjectPool ()
virtual T * MakeNew () noexcept=0
virtual void Destroy (T *o) noexcept
virtual bool IsValid (T *) noexcept
virtual Ptr Borrow ()
size_t Size ()
void Clear ()

Member Typedef Documentation

◆ Ptr

template<typename T>
using osmscout::ObjectPool< T >::Ptr = std::unique_ptr<T, std::function<void(T*)>>

Constructor & Destructor Documentation

◆ ObjectPool()

template<typename T>
osmscout::ObjectPool< T >::ObjectPool ( size_t maxSize)
inlineexplicit

◆ ~ObjectPool()

template<typename T>
virtual osmscout::ObjectPool< T >::~ObjectPool ( )
inlinevirtual

Member Function Documentation

◆ Borrow()

template<typename T>
virtual Ptr osmscout::ObjectPool< T >::Borrow ( )
inlinevirtual

◆ Clear()

template<typename T>
void osmscout::ObjectPool< T >::Clear ( )
inline

◆ Destroy()

template<typename T>
virtual void osmscout::ObjectPool< T >::Destroy ( T * o)
inlinevirtualnoexcept

◆ IsValid()

template<typename T>
virtual bool osmscout::ObjectPool< T >::IsValid ( T * )
inlinevirtualnoexcept

◆ MakeNew()

template<typename T>
virtual T * osmscout::ObjectPool< T >::MakeNew ( )
pure virtualnoexcept

Make a new object. It may return nullptr in case of failure.

◆ Size()

template<typename T>
size_t osmscout::ObjectPool< T >::Size ( )
inline

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