Conventions

While each tool in this library comes with its own header file, there is also an aggregate header:

#include <boost/capy.hpp>

While we do not recommend using it in production code, it is very convenient for learning the library and for small experiments.

All declarations reside in namespace boost::capy. For brevity, unless otherwise specified, the source code examples in this documentation assume the following:

#include <boost/capy.hpp>

namespace capy = boost::capy;

The examples deliberately leave some operation results and structured bindings unused, so that the surrounding prose can explain them. Do not build them with -Wall or -Werror.

The library is targeting two kinds of audience:

  • Regular users, who build their applications by composing building blocks offered by this library.

  • I/O Specialists, who extend this framework by providing their own I/O backends.