On Sat, Jun 22, 2013 at 4:18 PM, anonymous <anonymous@example.com> wrote:
On Saturday, 22 June 2013 at 23:03:17 UTC, Dicebot wrote:
http://dpaste.1azy.net/22d5eee2

------------------------------------

import std.traits;

template getTemplate(T)
{
        static if (is(T == TI!TP, alias TI, TP))

alias! Of course!


        {
                alias getTemplate = TI;
        }
        else
                static assert (false);
}

Replacing the static if with template specialization makes it shorter:
template getTemplate(T : TI!TP, alias TI, TP)
{
    alias getTemplate = TI;
}

great, thanks!
improved to support arbitrary number of a
template getTemplate(T : TI!TP, alias TI, TP...)
{
alias getTemplate = TI;
}


however, indeed seems to work with types only, not functions.