The Standard Library
SL.3
Do not add non-standard entities to namespace `std`
Reason
Adding to std might change the meaning of otherwise standards conforming code. Additions to std might clash with future versions of the standard.
Example
namespace std { // BAD: violates standard
class My_vector {
// . . .
};
}
namespace Foo { // GOOD: user namespace is allowed
class My_vector {
// . . .
};
}
Enforcement
Possible, but messy and likely to cause problems with platforms.