Apollo  6.0
Open source self driving car software
Classes | Public Types | Public Member Functions | List of all members
apollo::cyber::base::ObjectPool< T > Class Template Reference

#include <object_pool.h>

Inheritance diagram for apollo::cyber::base::ObjectPool< T >:
Inheritance graph
Collaboration diagram for apollo::cyber::base::ObjectPool< T >:
Collaboration graph

Public Types

using InitFunc = std::function< void(T *)>
 
using ObjectPoolPtr = std::shared_ptr< ObjectPool< T > >
 

Public Member Functions

template<typename... Args>
 ObjectPool (uint32_t num_objects, Args &&... args)
 
template<typename... Args>
 ObjectPool (uint32_t num_objects, InitFunc f, Args &&... args)
 
virtual ~ObjectPool ()
 
std::shared_ptr< T > GetObject ()
 

Member Typedef Documentation

◆ InitFunc

template<typename T >
using apollo::cyber::base::ObjectPool< T >::InitFunc = std::function<void(T *)>

◆ ObjectPoolPtr

template<typename T >
using apollo::cyber::base::ObjectPool< T >::ObjectPoolPtr = std::shared_ptr<ObjectPool<T> >

Constructor & Destructor Documentation

◆ ObjectPool() [1/2]

template<typename T >
template<typename... Args>
apollo::cyber::base::ObjectPool< T >::ObjectPool ( uint32_t  num_objects,
Args &&...  args 
)
explicit

◆ ObjectPool() [2/2]

template<typename T >
template<typename... Args>
apollo::cyber::base::ObjectPool< T >::ObjectPool ( uint32_t  num_objects,
InitFunc  f,
Args &&...  args 
)

◆ ~ObjectPool()

template<typename T >
apollo::cyber::base::ObjectPool< T >::~ObjectPool ( )
virtual

Member Function Documentation

◆ GetObject()

template<typename T >
std::shared_ptr< T > apollo::cyber::base::ObjectPool< T >::GetObject ( )

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