|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2006-02-01 09:36:26
Stefan Roiser <stefan.roiser_at_[hidden]> writes:
> On 31 Jan 2006, at 19:40, David Abrahams wrote:
>
>> Stefan Roiser <stefan.roiser_at_[hidden]> writes:
>>
>>> On 30 Jan 2006, at 17:08, Stefan Seefeld wrote:
>>>
>>> With interaction with objects I meant e.g. through the meta-level
>>> instantiate a class, get/set the data member values, call a function
>>> on that instance, retrieve the function's return value and so on. I
>>> may have missed that, but I couldn't find examples on the synopsis
>>> page for this functionality.
>>>
>>> Reflex code for this would look something like
>>>
>>> Type t = Type::ByName("foo");
>>> Object instance = t.Construct();
>>> Object ret_obj = instance.Invoke("myFunction");
>>
>> Very interesting. Where do you get the object code for
>> foo::myFunction? Or have you implemented a full C++ interpreter?
>
> foo::myFunction will be invoked through a stub function which is part
> of the dictionary library for class foo. A dictionary library may be
> dynamically loaded in a program.
Soooo.... what about templates? Do you have to do something to
manually instantiate them? Or do you do some kind of on-the-fly
compilation?
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk