Requisitos para std :: ignore
C ++ 11 introduz um objeto chamadostd::ignore
:
const /* unspecified */ ignore;
Para ser breve, vamos
typedef decltype(std::ignore) T;
Pelo que posso dizer, o único requisito paraT
é que éCopyAssignable
, devido à especificação destd::tie
[C ++ 11, 20.4.2.4:7].
Em g ++ - 4.8, acho queT
é adicionalmenteDefaultConstructible
(por exemplo.,T x;
compila). Esse comportamento é definido pela implementação?
(Se houver outros requisitos sobreT
que eu perdi, por favor, explique.)