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

#include <concurrent_object_pool.h>

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

Public Member Functions

 CCObjectPool (uint32_t size)
 
virtual ~CCObjectPool ()
 
template<typename... Args>
void ConstructAll (Args &&... args)
 
template<typename... Args>
std::shared_ptr< T > ConstructObject (Args &&... args)
 
std::shared_ptr< T > GetObject ()
 
void ReleaseObject (T *)
 
uint32_t size () const
 

Constructor & Destructor Documentation

◆ CCObjectPool()

template<typename T >
apollo::cyber::base::CCObjectPool< T >::CCObjectPool ( uint32_t  size)
explicit

◆ ~CCObjectPool()

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

Member Function Documentation

◆ ConstructAll()

template<typename T >
template<typename... Args>
void apollo::cyber::base::CCObjectPool< T >::ConstructAll ( Args &&...  args)

◆ ConstructObject()

template<typename T >
template<typename... Args>
std::shared_ptr< T > apollo::cyber::base::CCObjectPool< T >::ConstructObject ( Args &&...  args)

◆ GetObject()

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

◆ ReleaseObject()

template<typename T >
void apollo::cyber::base::CCObjectPool< T >::ReleaseObject ( T *  object)

◆ size()

template<typename T >
uint32_t apollo::cyber::base::CCObjectPool< T >::size ( ) const

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