Сравнение вариативных шаблонов

Если у меня есть два вариативных аргумента шаблона, A и B , как я могу гарантировать во время компиляции, что типы всех членов ] A также являются типами подмножества B (в том же порядке)?

Надуманный пример:

template<typename...A>
struct Foo {
  template<typename...B>
  static void bar()
  {
  }
}

...

Foo<Apple, Orange>:: template bar<Apple, Orange, Grape>(); // this compiles
Foo<Apple, Orange>:: template bar<Orange, Grape>(); // this doesn't
17
задан Sydius 8 July 2011 в 08:15
поделиться