1
0
Fork 0

(svn r17838) -Document: the Pool struct's template parameters

release/1.0
rubidium 2009-10-21 15:40:50 +00:00
parent a4d054eabc
commit 0ebe525e5b
1 changed files with 11 additions and 1 deletions

View File

@ -12,6 +12,13 @@
#ifndef POOL_TYPE_HPP #ifndef POOL_TYPE_HPP
#define POOL_TYPE_HPP #define POOL_TYPE_HPP
/**
* Base class for all pools.
* @tparam Titem Type of the class/struct that is going to be pooled
* @tparam Tindex Type of the index for this pool
* @tparam Tgrowth_step Size of growths; if the pool is full increase the size by this amount
* @tparam Tmax_size Maximum size of the pool
*/
template <class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size> template <class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size>
struct Pool { struct Pool {
static const size_t MAX_SIZE = Tmax_size; ///< Make template parameter accessible from outside static const size_t MAX_SIZE = Tmax_size; ///< Make template parameter accessible from outside
@ -64,7 +71,10 @@ struct Pool {
return this->items <= Tmax_size - n; return this->items <= Tmax_size - n;
} }
/** Base class for all PoolItems */ /**
* Base class for all PoolItems
* @tparam Tpool The pool this item is going to be part of
*/
template <struct Pool<Titem, Tindex, Tgrowth_step, Tmax_size> *Tpool> template <struct Pool<Titem, Tindex, Tgrowth_step, Tmax_size> *Tpool>
struct PoolItem { struct PoolItem {
Tindex index; ///< Index of this pool item Tindex index; ///< Index of this pool item