Apollo  6.0
Open source self driving car software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type > Class Template Reference

#include <light_object_pool.h>

Inheritance diagram for apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >:
Inheritance graph
Collaboration diagram for apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >:
Collaboration graph

Public Member Functions

std::shared_ptr< ObjectTypeGet () override
 
void BatchGet (size_t num, std::vector< std::shared_ptr< ObjectType >> *data) override
 
void BatchGet (size_t num, bool is_front, std::list< std::shared_ptr< ObjectType >> *data) override
 
void BatchGet (size_t num, bool is_front, std::deque< std::shared_ptr< ObjectType >> *data) override
 
void set_capacity (size_t capacity) override
 
size_t RemainedNum () override
 
 ~LightObjectPool () override
 
- Public Member Functions inherited from apollo::perception::base::BaseObjectPool< ObjectType >
 BaseObjectPool ()=default
 
virtual ~BaseObjectPool ()=default
 
size_t get_capacity ()
 

Static Public Member Functions

static LightObjectPoolInstance (const std::string &sensor_name="velodyne64")
 

Protected Member Functions

void Add (size_t num)
 
 LightObjectPool (const size_t default_size)
 
- Protected Member Functions inherited from apollo::perception::base::BaseObjectPool< ObjectType >
 BaseObjectPool (const BaseObjectPool &rhs)=delete
 
BaseObjectPooloperator= (const BaseObjectPool &rhs)=delete
 

Protected Attributes

std::queue< ObjectType * > queue_
 
ObjectTypecache_ = nullptr
 
const size_t kDefaultCacheSize
 
std::list< ObjectType * > extended_cache_
 
Initializer kInitializer
 
- Protected Attributes inherited from apollo::perception::base::BaseObjectPool< ObjectType >
size_t capacity_ = 0
 

Constructor & Destructor Documentation

◆ ~LightObjectPool()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::~LightObjectPool ( )
inlineoverride

◆ LightObjectPool()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::LightObjectPool ( const size_t  default_size)
inlineexplicitprotected

Member Function Documentation

◆ Add()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
void apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::Add ( size_t  num)
inlineprotected

◆ BatchGet() [1/3]

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
void apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::BatchGet ( size_t  num,
std::vector< std::shared_ptr< ObjectType >> *  data 
)
inlineoverridevirtual

◆ BatchGet() [2/3]

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
void apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::BatchGet ( size_t  num,
bool  is_front,
std::list< std::shared_ptr< ObjectType >> *  data 
)
inlineoverridevirtual

◆ BatchGet() [3/3]

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
void apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::BatchGet ( size_t  num,
bool  is_front,
std::deque< std::shared_ptr< ObjectType >> *  data 
)
inlineoverridevirtual

◆ Get()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
std::shared_ptr<ObjectType> apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::Get ( )
inlineoverridevirtual

◆ Instance()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
static LightObjectPool& apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::Instance ( const std::string &  sensor_name = "velodyne64")
inlinestatic

◆ RemainedNum()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
size_t apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::RemainedNum ( )
inlineoverridevirtual

◆ set_capacity()

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
void apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::set_capacity ( size_t  capacity)
inlineoverridevirtual

Member Data Documentation

◆ cache_

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
ObjectType* apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::cache_ = nullptr
protected

◆ extended_cache_

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
std::list<ObjectType*> apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::extended_cache_
protected

◆ kDefaultCacheSize

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
const size_t apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::kDefaultCacheSize
protected

◆ kInitializer

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
Initializer apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::kInitializer
protected

◆ queue_

template<class ObjectType , size_t N = kPoolDefaultSize, class Initializer = ObjectPoolDefaultInitializer<ObjectType>, SensorType sensor_type = SensorType::UNKNOWN_SENSOR_TYPE>
std::queue<ObjectType*> apollo::perception::base::LightObjectPool< ObjectType, N, Initializer, sensor_type >::queue_
protected

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