This library is current in a very early form. I anticipate doing additional
work in the following areas:
-
A better name for the library!!
-
The functional components - Currently the traversal strategies are much more
mature than the tools for building function objects that operate over them.
I intend to build a full set of function object manipulators that will ease
generation of suitable function objects. The intent is to interoperate well
with Boost.Bind, Boost.Lambda etc. providing Traversal Library specific features
such as the
restrict
operator
currently implemented, not to implement yet another lambda library.
-
Consider how to support operations that modify the whole / majority of the
tree, rather than the localized mods currently implemented.
-
Is the large number of traversal functions really the right way to go. A
smaller number parameterized by behaviour may be easier to document - but
will it be as straightforward to use?
-
The extension interface - The library is extensible, and has a simple building
block layer of horizontal traversal primitives, but these are likely to change
based on experience.
-
Reduce the need for product types to be Fusion sequences - possible macro
support to build the minimum horizontal traversal code to make a
struct
work with the library.
-
Provide support for all meaningful standard containers and Boost container
types.
-
Consider how to best support associative containers.
-
Ensure interoperation with Boost.Spirit(2) is smooth.
-
Docs, docs, docs
-
More code examples