Alexander Nasonov <[EMAIL PROTECTED]> writes:

> David Abrahams wrote:
>> A problem with this is that the introspection information is only
>> available at runtime.  A more-flexible system would use GCC-XML output
>> to generate something like:
>> 
>>      template <>
>>      struct class_<Driver>
>>      {
>>          typedef mpl::vector<Person> bases;
>> 
>>          typedef mpl::vector<
>>               member<int Driver::*, &Driver::licence_id>
>>             , member<Date Driver::*, &Driver::licence_issue_date>
>>             , member<void (Driver::*)(), &Driver::accelerate>
>>          > members;
>> 
>>          ...
>>      };
>> 
>> So all the introspection information could be available at
>> compile-time.
>
> Sometimes it's fine to have an introspection only at runtime. 

And sometimes it's not.

> I just want to avoid duplications of class descriptions by multiple
> libraries. 

Which is exactly why, if you're going to write an introspection
framework, it should make information available in a form that works
for libraries which may need it at compile-time.

> For example, Python and luabind could share common
> introspection information.  

Sure, great idea.

> This is why I'm using visitors. Every intronspection elelemnt has
> correspondent node that can be visited. The challenge is to build a
> complete set of nodes with a complete set of operations.

Sure, great idea.  Why not a compile-time visitor, though?

mpl::for_each anyone?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to