This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
RFC std::ignore
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Sat, 5 Jun 2010 20:18:26 +0100
- Subject: RFC std::ignore
The FCD requires std::ignore to be a const instance of some
unspecified type, which the patch below implements by making
_Swallow_assign::operator= work on const objects.
The unnamed namespace is not needed because namespace-scope const
objects are static by default.
Any objections? Are there any ABI issues?
Index: include/std/tuple
===================================================================
--- include/std/tuple (revision 160324)
+++ include/std/tuple (working copy)
@@ -690,16 +690,12 @@ namespace std
struct _Swallow_assign
{
template<class _Tp>
- _Swallow_assign&
- operator=(const _Tp&)
+ const _Swallow_assign&
+ operator=(const _Tp&) const
{ return *this; }
};
- // TODO: Put this in some kind of shared file.
- namespace
- {
- _Swallow_assign ignore;
- }; // anonymous namespace
+ const _Swallow_assign ignore{};
/**
* Stores a tuple of indices. Used by bind() to extract the elements