Intrusive Containers
Files | Classes
A Collection of Intrusive Containters.

Files

file  DListIn.h
 Intrusive Double Linked List.
 
file  DListIn.hpp
 Intrusive Double Linked List, Implementation.
 
file  ListIn.h
 Intrusive Singly Linked List.
 
file  ListIn.hpp
 Intrusive Singly Linked List, Implementation.
 
file  TreeIn.h
 Intrusive Binary Tree (unbalenced).
 
file  TreeIn.hpp
 Intrusive Binary Tree (unbalenced), Implementation.
 

Classes

class  DListInRoot< R, N, n >
 
class  DListInNode< R, N, n >
 
class  ListInRoot< R, N, n >
 
class  ListInNode< R, N, n >
 
class  TreeInRoot< R, N, K, n >
 
class  TreeInNode< R, N, K, n >
 

Detailed Description

The Intrusive Container Collection provides a set of containers that provide 1:many mappings from a "Containing" class to a "Node" class. This library assumes that the classes are "Identity" based (as opposed to "Value" based). It also provides a bi-directional mapping where the Node know what container it is in.

To use this library the Contianing class (called the Root) and the Node class must each derive from a class templates like xxxRoot<> and xxxNode<> repectfully (xxx will be replaced with the name of the container type). The templates will have two or three parameters. The first is the type of the Root class, the second is the type of the Node class, and the third is an optional number to allow a given Root-Node pair to have multiple relations of the same type, and have unique base types to perform these actions.