Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2005-06-27 09:45:19

On 06/27/2005 07:09 AM, Pavel Chikulaev wrote:
> "Roman Yakovenko" <roman.yakovenko_at_[hidden]> wrote in message
>>If you try to solve code readability then adding simple enum, even unnamed,
>>solves the problem
>>enum { name, year };
> I don't like this, because of the following:
> tuple<double, double> s;
> enum { width, height };
> tuple<double, double> p;
> enum { apples_weight, bananas_weight };
> s.get<width>() = 1.04;
> double apples_price = s.get<apples_weight>()* 5; (mistake: there should be p
> instead of s)
Would something from indexed_types:

satisfy you needs? It would have the problem mentioned above because
the "index" (i.e. the enumerator) is specific to the tuple. IOW
s.get<apples_weight>() would result in a compile time error because
s.get<...> requires something from:

   enum width_height{width,height};

Of course, instead of get, the template member function, in the case
of composite_product.hpp, is project<...>; so, it would actually be:


Boost list run by bdawes at, gregod at, cpdaniel at, john at