
From: Pavel Chikulaev [mailto:pavel.chikulaev@gmail.com]
Hi all,
Is there any interest in tagged tuple as extension of tuples library or fusion library? The example:
struct name_t {}; //tagged types struct year_t {};
void foo() { tagged_tuple<std::string, name_t, int, year_t> s;
s.get<name_t>() = "Hello World"!; s.get<year_t>() = 2005; assert(s.get<0>() == s.get<name_t>()); assert(s.get<1>() == s.get<year_t>()); }
It already works in VC7.1 and VC8.0 :)
What do you think?
If you try to solve code readability then adding simple enum, even unnamed, solves the problem enum { name, year }; s.get<name>() If you try to solve an other problem, please describe the problem first. And second this has been already discussed on the list. One of the objections was the use case where you have same type occurs more then once in tuple. tagged_tuple<std::string, name_t, std::string, name_t > s; s.get<name_t>() - is this operation defined and what it's result
Pavel Chikulaev
Roman