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

#include <TsPool.hpp>

List of all members.

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 62 of file TsPool.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 file:


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:39