ucommon
Data Structures | Namespaces | Typedefs | Functions
linked.h File Reference

Linked objects, lists, templates, and containers. More...

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

Go to the source code of this file.

Data Structures

class  ucommon::DLinkedObject
 A double-linked Object, used for certain kinds of lists. More...
class  ucommon::keylist< T >
 A template for ordered index of typed name key mapped objects. More...
class  ucommon::keymap< T, M >
 A template class for a hash map. More...
class  ucommon::linked_pointer< T >
 A smart pointer template for iterating linked lists. More...
class  ucommon::linked_value< T, O >
 Template value class to embed data structure into a linked list. More...
class  ucommon::LinkedList
 A double linked list object. More...
class  ucommon::LinkedObject
 Common base class for all objects that can be formed into a linked list. More...
class  ucommon::multimap< T, P >
 Embed data objects into a multipap structured memory database. More...
class  ucommon::MultiMap
 A multipath linked list where membership is managed in multiple lists. More...
class  ucommon::named_value< T, O >
 Template value class to embed data structure into a named list. More...
class  ucommon::NamedObject
 A linked object base class with members found by name. More...
class  ucommon::NamedTree
 The named tree class is used to form a tree oriented list of associated objects. More...
class  ucommon::ObjectQueue
 A queue of double linked object. More...
class  ucommon::objfifo< T >
 Template for typesafe basic object fifo container. More...
class  ucommon::objqueue< T >
 Template for typesafe basic object queue container. More...
class  ucommon::objstack< T >
 Template for typesafe basic object stack container. More...
class  ucommon::OrderedIndex
 An index container for maintaining an ordered list of objects. More...
class  ucommon::OrderedObject
 A linked object base class for ordered objects. More...
class  ucommon::ReusableObject
 Reusable objects for forming private heaps. More...
class  ucommon::treemap< T >
 Embed data objects into a tree structured memory database. More...

Namespaces

namespace  ucommon
 Common namespace for all ucommon objects.

Typedefs

typedef LinkedObject * ucommon::LinkedIndex
 Convenience typedef for root pointers of single linked lists.
typedef OrderedIndex ucommon::objfifo_t
 Convenience type for a fifo of linked objects.
typedef ObjectQueue ucommon::objqueue_t
 Convenience type for a queue of linked objects.
typedef ObjectStack ucommon::objstack_t
 Convenience type for a stack of linked objects.

Functions

void ucommon::add (ObjectStack &stack, LinkedObject *object)
 Add a linked object onto a stack of linked objects.
void ucommon::add (OrderedIndex &fifo, LinkedObject *object)
 Add a linked object onto a fifo of linked objects.
void ucommon::add (ObjectQueue &queue, DLinkedObject *object)
 Add a linked object to end of queue of objects.
LinkedObject * ucommon::pop (ObjectStack &stack)
 Pop a linked object from a stack of linked objects.
LinkedObject * ucommon::pop (OrderedIndex &fifo)
 Pop a linked object from a fifo of linked objects.
DLinkedObject * ucommon::pop (ObjectQueue &queue)
 Pop a linked object from end of queue.
LinkedObject * ucommon::pull (ObjectStack &stack)
 Pop a linked object from a stack of linked objects.
LinkedObject * ucommon::pull (OrderedIndex &fifo)
 Pop a linked object from a fifo of linked objects.
DLinkedObject * ucommon::pull (ObjectQueue &queue)
 Pull a linked object from start of a queue.
void ucommon::push (ObjectStack &stack, LinkedObject *object)
 Push a linked object onto a stack of linked objects.
void ucommon::push (OrderedIndex &fifo, LinkedObject *object)
 Push a linked object onto a fifo of linked objects.
void ucommon::push (ObjectQueue &queue, DLinkedObject *object)
 Push a linked object to start of queue.

Detailed Description

Linked objects, lists, templates, and containers.

Common support for objects that might be organized as single and double linked lists, rings and queues, and tree oriented data structures. These generic classes may be used to help form anything from callback registration systems and indexed memory hashes to xml parsed tree nodes.

Definition in file linked.h.