The e4Graph Classes

The e4Graph C++ binding contains two groups of classes: elements and iterators. Elements, such as e4_Node,  represent persistent elements in a storage. Iterators, such as e4_VertexVisitor, allow the user program to iterate over a selection of vertices in a storage.
 
The e4Graph Classes
   
e4_Storage Stores persistent representations of e4_Marker, e4_Node and e4_Vertex. A single storage can contain any number of markers, nodes and fields.
e4_Marker Representation of a marker. Each marker is contained in a storage. A marker always marks a node, its root node.
e4_Node Representation of a node. Each valid node is reachable from at least one marker.
e4_Vertex Representation of a vertex in a node. Each vertex has a source node. Vertices are ordered
by rank within a node. Vertices have a name, a type and a value.
   
e4_StorageVisitor Iterates over all currently open storages in an implementation dependent order.
e4_MarkerVisitor Iterates over all marker within a storage in an implementation dependent order.
e4_NodeVisitor Iterates over all nodes within a storage in an implementation dependent order.
e4_VertexVisitor Iterates over a collection of vertices within a storage according to flexible selection criteria. For example, this class allows the user to visit all vertices within a node or filter out vertices that do not have a specific name or value type.