Documentation: In Depth API User Guide

What are the classes and interfaces API implements?

API implements abstract data types and data structures using polymorphic principles. Each interface corresponds to an abstract data type and each class corresponds to one or more layers of data structures built on top:

User dependencies

Some of classes above require developers to implement C functions built via template specialization for each data type used:

How can above classes and interfaces be iterated?

All above interfaces and classes, with exception of Container instances (who are supposed to behave like black boxes), are iterable/traversable. Unlike STL iterators, this API takes advantage of polymorphism and iterates by abstractions (interfaces / abstract classes) with the exception of Tree implementations: