JayBeams  0.1
Another project to have fun coding.
Classes | Namespaces
config_recurse.hpp File Reference

Breakout some of the helper classes from jb/config_object.hpp. More...

#include <sstream>
#include <type_traits>

Go to the source code of this file.

Classes

class  jb::config_attribute< C, T >
 Helper class to easily define configuration attributes. More...
 
struct  jb::config_recurse
 Recursively apply functions to config_object, attributes, and sequences of config objects. More...
 

Namespaces

 jb
 The top-level namespace for the JayBeams library.
 

Detailed Description

Breakout some of the helper classes from jb/config_object.hpp.

The definition of jb::config_object requires a number of helper classes and functions to recurse over compound configs (i.e. structs, vectors, pairs, etc.). The code in jb/config_object.hpp was getting too long to keep in a single file, but these classes and the code in jb/config_attribute.hpp are also deeply inter-related so they could not be simply refactored out. This is a signal of poor design, and I welcome suggestions on how to improve it. However, it works, and the user interface is really clean.

Definition in file config_recurse.hpp.