On Wed, 12 Jun 2013 11:44:19 +0200, Zhenya <zh...@list.ru> wrote:

OK,you say that TypeTuple!("foo","bar") is a cool value of type
TypeTuple!(string,string),right?

Well, yes and no, not really. It's a bit magical. In your case,
it's assigned to an auto variable, and that variable gets that type.
There are other ways to use a TypeTuple where it has other semantics,
as you write yourself.

As explained below, a TypeTuple is just a bag of template parameters,
and thus obeys the rules for a bag of template parameters.


This behaviour confuses me a bit.

Understandable. It's not entirely straightforward, because the
concerns of usability weigh heavier than those of consistency.


And I just don't understand why do we need TypeTuple's value
semantic
to implement std.Tuple,because AFAIK it use variadic template
parameter pack
   != TypeTuple.

The definition od std.typetuple.TypeTuple is:

template TypeTuple(T...){
    alias TypeTuple = T;
}

So a TypeTuple is exactly the same as a variadic template
parameter pack.


Sorry for my english.

No need to be, your English is great.

--
Simen

Reply via email to