Created by Matthew W. Moskewicz.
Boda is BSD 2-Clause licensed; refer to the LICENSE file for the full License.
Firstly, to be clear: Boda is a planned work / work in progress at an early stage, and is probably not suitable for anyone to use for anything at this point in time.
Boda Poster Preview Slides Boda Poster
Boda Poster Preview Slides Boda Poster
the middle box is a 'mode' -- a c++ class with a main() function and a set of parameters. this is the boda version of a standard c++ program with a C main() and some command line argument processing such as gflags/getopt/etc. the pitch is that boda makes it easy to support many modes in a single binary/program, and provides some magic comments / meta-programming to ease the burden of:
- command line / XML based UI creation for many such modes (with hierarchical sharing of UIs / parameters)
- testing (including automated regression diffs over outputs)
- timing / profiling
the main 'magic' is a NEsted Structure Initialization system (NESI), which uses magic comments, python, code generation, and a steaming pile of down-home-style void pointers and C (or at least C style) functions to initialize c++ structures from nested key/value trees (in turn created from command line arguments and/or xml files), a la JSON or the like.