Boost logo

Boost :

Subject: Re: [boost] Feature macro for putting things in the std namespace
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2015-08-28 12:00:03


Agustín K-ballo Bergé <kaballo86 <at> hotmail.com> writes:

> Have a look at N1344, Namespaces and Library Versioning, where it
> explains that using `using` it's not an option; and at N2535, Namespace
> Association ("inline namespace"), where inline namespaces are proposed
> as a viable option to solve the issues raised in N1344.

While those papers don't directly state it's not allowed, they do mention
that

struct MyClass { ... };
namespace std
{
  template<> class vector<MyClass> { ... };
}

must be well-formed.

The standardese for this is C++03 17.4.3.1/1 and C++11 17.6.4.2.1.

In practice I don't see how this can work if the library implements any
extensions, unless those are explicitly tagged and checked every time.
I wonder why this thing •Ù•¸…±±½Ý•°¥ÐÍ¡½Õ±‰”±¥µ¥Ñ•Ñ¼¡…Í …¹€)½Ñ¡•È•áÑ•¹Í¥½¸Á½¥¹Ñ̸()%¸Ý¡¥ …Í”Í¡½Õ±Ñ¡” M0µ½‘•°°¥˜ ½½ÍЁ¥ÌÝ¥±±¥¹œÑ¼ÍÕÁÁ½ÉЁ¥Ð°‰”€)½¹Í¥‘•É•„‘•™•Ð


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk