Позиция типа в пакете параметров вариативного шаблона

Я пробую C ++ 0x и задавался вопросом, как решить следующую возникшую проблему. У меня есть класс вариативного шаблона:

template<typename... T>
class MyLovelyClass {

 template<typename SomeType>
 void DoSthWithStorageOfSomeType();

 private:
  std::tuple<std::vector<T>...> m_storage;
};

Предполагается, что функция выполняет какие-то манипуляции с вектором в кортеже m_storage, который соответствует аргументу шаблона SomeType (или сбой во время компиляции, если это не так). Как это сделать?

Моя идея заключалась в том, чтобы найти индекс SomeType в пакете параметров, а затем использовать std :: get для получения соответствующего вектора, но я не знаю, как сделать первую часть.

9
задан Bartłomiej Siwek 17 May 2011 в 14:10
поделиться