reverse tupleとかbindがどうのこうの
また゛また゛ しゅき゛ょうか゛ たりないようた゛(´・ω・`;)
とりあえずつっこむだけつっこんだだけ
template < class Tuple >
struct reverse_tuple {
Tuple tuple_;
// ...
};
template < std::size_t Index, class Tuple >
auto get(reverse_tuple<Tuple> const& rtuple)
-> decltype(foobar)
{
return // TupleSize - Index要素を返す.
}
template < class... As >
return_type f(As&&... as){
return // forward_as_tupleとreverse_tuple使って逆順のtupleを構成し, index tuple idiom使って展開する.
}
おしょー@実際モチベーションがない
@manga_osyo
constexpr でないならば、 std::tuple が Boost.Fusion で使えるので、それでなんとか…。
2011-12-25 03:18:05
I
@wx257osn2
ちなみにやろうとしてることはf<N>(c,args...){return c==N?{{args...}}:f<N>(c+1,args...,1, reverse(args...) );} みたいなやり方だから結構無茶苦茶 というかまず関数だと引数に渡せないからアウト
2011-12-25 03:19:26
おしょー@実際モチベーションがない
@manga_osyo
Variadic Templates で値を扱うのであれば、tuple を使ったほうがいい気がする。型として扱うならちとめんどうだけど。
2011-12-25 03:45:33
I
@wx257osn2
@SillyCrown ですよねー… ついでにconstexprで、かつ先ほどの説明になんとかついていけてる程度のレベルなのでこれをあと20分で実装するのは到底…
2011-12-25 03:47:53