VTL

VTL Reflection

Reflection API for C++ language.

Inspirations

Reflection Package for C++ by Konstantin Knizhnik and the Static Function Pointer Table Polymorphism Pattern (SFPTPP) introduced by Christopher Diggins in An Efficient Variant Type article.

TODO

The main things to do in the points below:

  • test library under different compilers;
  • add methods into vtl_rtti class to return a collection of invokers - method and field invokers;
  • modify passing the second argument in vtl_get_set_invoker::set_value(vtl_obj& x, vtl_obj v) method to pass it by reference;

  • Please do not hesitate to contact me, if you would like to help, to raise an error or to ask a question.

    Compilers

    The list of compilers that do compile the project:

  • Cygwin GCC 3.4.2.
  • Mingw32 C & C++ 3.4.2.
  • MSVC7 - only example code
  • The list of compilers that don't compile the project:

  • Digital Mars 8.48.10n - SFINAE problem with mfns::is_vtl_class metafunction
  • Usage

    Please, take a look at sample code "main.cpp" that is shipped with VTL Reflection source code or see it here.

    Download

    0.1.1 alpha release of VTL Reflection available here.

    You can get current version of VTL Reflection from anonymous CVS server:
    cvs -z3 -d:pserver:anonymous@vtl.cvs.sourceforge.net:/cvsroot/vtl co -P vtlreflection

    Home

    VTL