Boost C++ Libraries Home Libraries People FAQ More

Next

Chapter 1. Traversal 0.02

Dan Marsden

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Preface
Introduction
Quick Start Guide
Reference
Horizontal Traversals
Recursive Traversals
Combinators
Definitions
Combinator
Hierarchical Data Structure
Future Work
References

Description

The Traversal Library is a collection of algorithms and function object combinators for building generic functions that operate over hierarchical data structures. The library can automatically generate a rich variety of different traversal schemes for these data structures, allowing developers to concentrate on the core parts of the algorithm they are implementing, without getting bogged down in the large amounts of repetitive code typically required to manipulate such structures.

Influences and Related Work

The approach is modelled upon techniques developed in the Haskell community, amongst them, the Scrap Your Boilerplate approach described by Lammel and Peyton-Jones, Strafunski described by Lammel and Visser, and the data structure driven behaviour of Generic Haskell. Many of the naming conventions and the choice of traversal strategies is heavily influence by the work in A generic recursion toolbox for Haskell or: scrap your boilerplate systematically by Ren and Erwig.

Last revised: April 16, 2008 at 20:29:01 GMT


Next