Are implementations allowed to add public members to standard types?
Are C++ standard library implementations allowed to add public (and protected) members to standard types' interfaces? N3797 17.6.5.5 [member.functions]/2 says: An implementation may declare additional non-virtual member function signatures within a class: — by adding arguments with default values to a member function signature; [ Note : An implementation may not add arguments with default values to virtual, global, or non-member functions. — end note ] — by replacing a member function signature with default values by two or more member function signatures with equivalent behavior; and — by