C++11 では、次のオブジェクトが導入されていますstd::ignore。
const /* unspecified */ ignore;
簡潔にするために、
typedef decltype(std::ignore) T;
私が知る限り、 [C++11, 20.4.2.4:7]の仕様により、 の唯一の要件Tは であるということです。CopyAssignablestd::tie
Tg++-4.8 では、それが追加であることがわかりましたDefaultConstructible(たとえば、T x;コンパイル)。これは実装定義の動作ですか?
(私が見逃した他の要件がある場合はT、詳しく説明してください。)