I tried searching for possible implementations of std::ignore, but failed to find a clear answer.
http://mail-archives.apache.org/mod_mbox/stdcxx-dev/200807.mbox/%3C4872AA41.7040005@roguewave.com%3E cites problems with c++ spec and provides and illustrative implementation as
namespace std {
struct _Ignore
{
template <class _Type>
_Ignore& operator= (const _Type& value) { return *this; }
};
const _Ignore ignore = _Ignore ();
} // namespace std
And there are further discussions about the problems. So, how the current implementations looks like? and why?