
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&, _b, _c> t1(vec, i, d); tuple<construct, _a&, _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-bind... Sent from the Boost - Dev mailing list archive at Nabble.com.