ucommon/containers.h File Reference

Threadsafe object containers. More...

#include <ucommon/platform.h>
#include <ucommon/protocols.h>
#include <ucommon/linked.h>
#include <ucommon/memory.h>
#include <ucommon/thread.h>
Include dependency graph for containers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ucommon::Buffer
 A thread-safe buffer for serializing and streaming class data. More...
class  ucommon::bufferof< T >
 A templated typed class for buffering of objects. More...
class  ucommon::linked_allocator< T >
 Linked allocator template to gather linked objects. More...
class  ucommon::LinkedAllocator
 Linked allocator helper for linked_allocator template. More...
class  ucommon::queue
 Manage a thread-safe queue of objects through reference pointers. More...
class  ucommon::queueof< T >
 A templated typed class for thread-safe queue of object pointers. More...
class  ucommon::stack
 Manage a thread-safe stack of objects through reference pointers. More...
class  ucommon::stackof< T >
 A templated typed class for thread-safe stack of object pointers. More...

Namespaces

namespace  ucommon
 

Common namespace for all ucommon objects.


Typedefs

typedef queue ucommon::fifo_t
 Convenience type for using thread-safe object fifo (queue).
typedef stack ucommon::stack_t
 Convenience type for using thread-safe object stacks.

Functions

ObjectProtocol * ucommon::pull (fifo_t &fifo, timeout_t timeout=Timer::inf)
 Convenience function to pull an object from a fifo.
ObjectProtocol * ucommon::pull (stack_t &stack, timeout_t timeout=Timer::inf)
 Convenience function to pull an object from a stack.
void ucommon::push (fifo_t &fifo, ObjectProtocol *object)
 Convenience function to push an object onto a fifo.
void ucommon::push (stack_t &stack, ObjectProtocol *object)
 Convenience function to push an object onto a stack.
void ucommon::remove (fifo_t &fifo, ObjectProtocol *object)
 Convenience function to remove an object from a fifo.
void ucommon::remove (stack_t &stack, ObjectProtocol *object)
 Convenience function to remove an object from a stack.

Detailed Description

Threadsafe object containers.

This is used to better define object containers and manipulating classes which can be presumed to be fully threadsafe and thread-aware. This has to be defined separately to assure correct order of preceeding headers as well as to better organize the library for clarity. Most of these classes and templates work with classes derived from Object and LinkedObject and make use of conditional for time constrained acquisition of managed objects.

Definition in file containers.h.

Generated on Thu Jul 14 16:34:25 2011 for ucommon by  doxygen 1.6.3