Boost logo

Boost :

Subject: [boost] Compile time reflection for IPC using
From: Oleg Labutin (ol.labutin_at_[hidden])
Date: 2014-01-17 02:10:44


 Do you now about one approach (for two compilers (gcc 3.7, and MSVC
(last)) emulate compile time reflection with difference scope?

Like

struct some {
      META_STRUCT(some);

      FLD(int, a);
      FLD(int, b);

      METH(int, call_0, (int, a));
      METH(int, call_1, (int, b));
};

void in()
{
      typedef hl::reflection_extract<some>::field_accessors acc;
      some s;
      s.*hl::at<acc, a_accessor>::get() = 5;
}

We can see here https://github.com/ol72/hl/tree/
And you can try to compile this attached demo
   Use __J_ACTIVE define to see as reflection worked in json oriented part
of project. For which you should install json. Without this you can see
ability take meta information by query.

But global goal I think we understanding
Our backend can be something else. Like client server
, data base oriented structures in which we can use by SQL like C++ syntax

We can make (and I made it )
database like structures

struct human_tables {
   TABLE(names)
   {
       fields((int) index, (std::string) name, .... );
   };

   TABLE(country) { fields((names_table::index) name, ... ); };

   TABLE(human)
   {
       indexes(names_table::index_field);

       fields((names_table::index_field) name, (country_table::index)
country...);
   };
};




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk