C++11 introduces an object called std::ignore
:
const /* unspecified */ ignore;
For brevity, let
typedef decltype(std::ignore) T;
From what I can tell, the only requirement for T
is that it is CopyAssignable
, due to the specification of std::tie
[C++11, 20.4.2.4:7].
In g++-4.8, I find that T
is additionally DefaultConstructible
(e.g., T x;
compiles). Is this implementation-defined behavior?
(If there are other requirements on T
that I have missed, please elaborate.)