|
Boost : |
Subject: Re: [boost] [TypeErasure] Forward constructors and binded types
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2012-07-18 14:43:40
Steven Watanabe-4 wrote
>
> AMDG
>
> On 07/18/2012 10:47 AM, Vicente Botet wrote:
>>
>> Is the following correct?
>>
>> class X {
>> public:
>> X(int, double);
>> };
>>
>> std::vector<double> vec;
>> int i = 10;
>> double d = 2.5;
>> X x;
>>
>> tuple<construct, _a&amp;, _b, _c> t1(vec, i, d);
>> tuple<construct, _a&amp;, _b, _c> t2(x, i, d);
>> any<construct, _a> v1(get<1>(t1), get<2>(t1));
>> any<construct, _a> v2(get<1>(t2), get<2>(t2));
>>
>> If yes, how v1 is bound to vec and v2 to x?
>>
>
> It isn't. v1 stores a std::vector<double> which
> is constructed in place and is not related to vec
> in any way.
>
> v2 again hold a separate object of type X,
> which is created using X(int, double).
>
Well, I think I have understood how this can work.
get<1>(t1) returns an any that has a binding std::vector<double>,int,double
and is this binding that allows to associate _a to std::vector<double>.
I 'd appreciate if the documentation clarifies what these bindings are, how
they are built built and used.
Best,
Vicente
-- View this message in context: http://boost.2283326.n4.nabble.com/TypeErasure-Forward-constructors-and-binded-types-tp4633181p4633229.html Sent from the Boost - Dev mailing list archive at Nabble.com.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk