我有一個模板參數的函數,我知道它是幾個不同元素類型的標準C++容器的std::tuple
。 如何從中抽取出一個類型爲std::tuple
的元素類型?從C++中的容器元組中提取value_type的元組11
例如,假設我有以下功能
template <typename TupOfCtrs>
void doStuff(const TupOfCtrs& tupOfCtrs) {
using TupOfElements = /*extract a tuple type by applying CtrT::value_type to each container in tupOfCtrs and combining the results into an std::tuple*/;
MyHelperClass<TupOfElements> helper;
}
,我知道它被稱爲是這樣的:
std::list<Foo> l {/*...*/};
std::vector<Bar> v {/*...*/};
std::deque<Baz> d {/*...*/};
auto tup = std::make_tuple(l, v, d);
在這種情況下,我想被定義TupOfElements
輔助型如std::tuple<Foo, Bar, Baz>
。 請注意,我實際上並不需要創建這個元組,只能得到它的類型。
這怎麼可能實現,可能使用Boost::Fusion庫?
太棒了,謝謝! :) –