If I have have some overloaded ostream operators, defined for library local objects, is its okay for them to go to std namespace? If I do not declare them in std namespace, then
operator<<( ..., MyClass )
should go in the same namespace as MyClass
. You should think of it as part of the interface of MyClass
, even though it happens to be (necessarily) a non-member function.
A couple of references: