Boost logo

Boost Users :

From: Simon Pickles (sipickles_at_[hidden])
Date: 2008-07-11 15:21:51


John Femiani wrote:
>> Hi,
>>
>> After programming with Python and switching back to C++, I am
>> missing the flexibility of a scripted language.
>>
>> Specifically, I am annoyed at having to specify the arguments
>> of a function at compile time. Is there anyway I can avoid
>> specifying the exact arg structure? I thought boost might do
>> this somehow?
>>
>> Say for example, I have a message handler function. I want to
>> be able to send all sorts of arguments to the same function,
>> which can then deduce what to do according to the data held
>> in those args. I don't want to have to overload everything as
>> I am passing these message handlers around using
>> boost::function/boost::bind.
>>
>>
>
>
> Are you thinking of named arguments, or do you want 'isinstance'?
>
I was hoping to be able to call one function with different args,
wrapping those args somehow.

In python, I could call a function with a list, dict or tuple. Since
this one object was the argument, it didn't matter what it contained.

I know I could pass a vector in C++, but this needs a single data type.
In python I could call:

MyFunc((1, "2", anObject)) # - all in a tuple
MyFunc(("aardvark", 42)) # another tuple

Anyway to replicate this very convenient functionality?

Si


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net