Crow:Middlewares 庖丁解牛2 产生序列

include\crow\utility.h内有这样一段比较晦涩难懂的代码:

template
using Invoke = typename T::type;

template
struct seq
{
    using type = seq;
};

template
struct concat;

template
struct concat, seq> : seq
{};

template
using Concat = Invoke>;

template
struct gen_seq;
template
using GenSeq = Invoke>;

template
struct gen_seq : Concat, GenSeq>
{};

template<>
struct gen_seq<0> : seq<>
{};
template<>
struct gen_seq<1> : seq<0>
{};

这段代码是做什么的呢?

先说结论,是产生一个序列的:

template

你可能感兴趣的:(C/C++,c++)