boost::tieのネスト
アキラさんの記事を読んでboost::tieのことを思い出し、もしかしてこいつはネストできるのかと気になったので調べてみた。
#include <boost/tuple/tuple.hpp> int main() { using namespace boost; int i; double d; const char* s; tie(tie(i, d), s) = make_tuple(make_tuple(123, 123.4), "abc"); }
残念ながらこのコードはエラーになった。どうやらtieは引数に左辺値を要求しているらしく、内側のtieが返した右辺値を外側のtieが受け取ってエラーになるようだ。