Classes | Public Types | Public Member Functions | Private Attributes | List of all members
RTT::internal::TsPool< T > Class Template Reference

#include <rtt-internal-fwd.hpp>

Classes

struct  Item
 
union  Pointer_t
 

Public Types

typedef unsigned int size_type
 
typedef T value_t
 

Public Member Functions

value_tallocate ()
 
unsigned int capacity ()
 
void clear ()
 
void data_sample (const T &sample)
 
bool deallocate (T *Value)
 
unsigned int size ()
 
 TsPool (unsigned int ssize, const T &sample=T())
 
 ~TsPool ()
 

Private Attributes

Item head
 
Itempool
 
unsigned int pool_capacity
 
unsigned int pool_size
 

Detailed Description

template<typename T>
class RTT::internal::TsPool< T >

A multi-reader multi-writer MemoryPool implementation. It can hold max 65535 elements of type T.

Definition at line 207 of file rtt-internal-fwd.hpp.

Member Typedef Documentation

template<typename T>
typedef unsigned int RTT::internal::TsPool< T >::size_type

Definition at line 100 of file TsPool.hpp.

template<typename T>
typedef T RTT::internal::TsPool< T >::value_t

Definition at line 65 of file TsPool.hpp.

Constructor & Destructor Documentation

template<typename T>
RTT::internal::TsPool< T >::TsPool ( unsigned int  ssize,
const T &  sample = T() 
)
inline

Creates a fixed size memory pool holding ssize blocks of memory that can hold an object of class T.

Definition at line 105 of file TsPool.hpp.

template<typename T>
RTT::internal::TsPool< T >::~TsPool ( )
inline

Definition at line 112 of file TsPool.hpp.

Member Function Documentation

template<typename T>
value_t* RTT::internal::TsPool< T >::allocate ( )
inline

Definition at line 159 of file TsPool.hpp.

template<typename T>
unsigned int RTT::internal::TsPool< T >::capacity ( )
inline

The maximum number of elements available for allocation.

Returns
The maximum size.

Definition at line 222 of file TsPool.hpp.

template<typename T>
void RTT::internal::TsPool< T >::clear ( )
inline

Clears all internal management data of this Memory Pool. All data blobs are considered to be owned by the pool again.

Definition at line 137 of file TsPool.hpp.

template<typename T>
void RTT::internal::TsPool< T >::data_sample ( const T &  sample)
inline

Initializes every element of the pool with the given sample and clears the pool.

Definition at line 153 of file TsPool.hpp.

template<typename T>
bool RTT::internal::TsPool< T >::deallocate ( T *  Value)
inline

Definition at line 179 of file TsPool.hpp.

template<typename T>
unsigned int RTT::internal::TsPool< T >::size ( )
inline

Return the number of elements that are available to be allocated. This function is not thread-safe and should not be used when concurrent allocate()/deallocate() functions are running.

Returns
the number of elements left to allocate.

Definition at line 205 of file TsPool.hpp.

Member Data Documentation

template<typename T>
Item RTT::internal::TsPool< T >::head
private

Definition at line 95 of file TsPool.hpp.

template<typename T>
Item* RTT::internal::TsPool< T >::pool
private

Definition at line 94 of file TsPool.hpp.

template<typename T>
unsigned int RTT::internal::TsPool< T >::pool_capacity
private

Definition at line 97 of file TsPool.hpp.

template<typename T>
unsigned int RTT::internal::TsPool< T >::pool_size
private

Definition at line 97 of file TsPool.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:45