libosmscout  1.1.1
Public Types | Public Member Functions | List of all members
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: