Interface and Implementation Notes

Implementation dependencies: header Libraries and Libraries

Most of the library is based on boost::any. This is only a header inclusion.

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.

Interface

This library needs to be completed by an application programmer.

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.


Generated on Thu Feb 18 21:30:12 2010 for eleve by  doxygen 1.5.6