nl::Weave::System::ObjectPool

#include <src/system/SystemObject.h>

A class template used for allocating Object subclass objects from an ObjectArena<> template union.

Summary

Details
Template Parameters
T
a subclass of Object to be allocated from the arena.
N
a positive integer number of objects of class T to allocate from the arena.

Public static functions

Size(void)
size_t
Returns the number of objects that can be simultaneously retained from a pool.

Public functions

Get(const Layer & aLayer, size_t aIndex)
T *
Returns a pointer the object at \c aIndex or \c NULL if the object is not retained by \c aLayer.
GetStatistics(nl::Weave::System::Stats::count_t & aNumInUse, nl::Weave::System::Stats::count_t & aHighWatermark)
void
TryCreate(Layer & aLayer)
T *
Tries to initially retain the first object in the pool that is not retained by any layer.

Public static functions

Size

size_t Size(
  void
)

Returns the number of objects that can be simultaneously retained from a pool.

Public functions

Get

T * Get(
  const Layer & aLayer,
  size_t aIndex
)

Returns a pointer the object at \c aIndex or \c NULL if the object is not retained by \c aLayer.

GetStatistics

void GetStatistics(
  nl::Weave::System::Stats::count_t & aNumInUse,
  nl::Weave::System::Stats::count_t & aHighWatermark
)

TryCreate

T * TryCreate(
  Layer & aLayer
)

Tries to initially retain the first object in the pool that is not retained by any layer.