The more advanced features require boost::regex, boost::multi_array and boost::multi_index. boost::regex requires a library. The multi types are headers only.
Here is an example file that shows you how this could be done.
/*! \file render1.cpp \author Walter Eaves <Walter.Eaves@depfa.com> \date Thu Feb 4 21:40:07 2010 \brief render1.cpp A file to include the generated definitions. */ #ifndef CSV1_NOGEN #include "eleve/src/runtime2.hpp" #include "eleve/src/typing3.hpp" #include "eleve/src/typing1.hpp" #include "eleve/src0/csv1.hpp" #include "eleve/src0/csv5.hpp" namespace { using namespace eepgwde::detail; fn1_ref_t render_dt(&eepgwde::detail::DataFrame::render<posixdate>); fn1_ref_t render_usdt(&eepgwde::detail::DataFrame::render<usdate>); fn1_ref_t render_eudt(&eepgwde::detail::DataFrame::render<eudate>); fn1_ref_t render_s(&eepgwde::detail::DataFrame::render<std::string>); fn1_ref_t render_i(&eepgwde::detail::DataFrame::render<int>); fn1_ref_t render_d(&eepgwde::detail::DataFrame::render<double>); fn1_ref_t render_rate(&eepgwde::detail::DataFrame::render<rate>); fn1_ref_t render_bps(&eepgwde::detail::DataFrame::render<bps>); #ifndef NDEBUG fn1_ref_t simple_i(&eepgwde::detail::DataFrame::simple<int>); fn1_ref_t simple_d(&eepgwde::detail::DataFrame::simple<double>); #endif } namespace eepgwde { namespace detail { render0_t render0s_[] = { { std::string("N7eepgwde6detail9posixdateE"), &render_dt }, { std::string("Ss"), &render_s }, { std::string("d"), &render_d }, { std::string("i"), &render_i }, { std::string(), 0 } }; #include "src1/render0.cpp" }} #endif
The files included are added using the example code.