<<
オブジェクトに対してストリーム演算子 ( 、 )を定義できるようにしたいのです>>
が、コンテキストに応じて異なるセットを使用できるように、複数のセットを用意したいと考えています。たとえば、次のようなオブジェクトがあるとします。
struct Foo {
int a;
};
次に、いくつかの場所でこれを使用できるようにしたい
std::ostream& operator<<(std::ostream& out, const Foo& foo) {
out<<foo.a;
}
そして他の人ではこれを使うことを好みます
std::ostream& operator<<(std::ostream& out, const Foo& foo) {
out<<"'"<<foo.a<<"'";
}
しかし、これらの両方を同時に定義する方法がわかりません。
私は自分の回答を提出していますが、他の誰かが過去に私よりもこれを熟考する理由があり、できれば大規模なアプリケーションでそれを行うための組織的な方法を持っていることを願っています(したがって、「管理」という用語は質問のタイトル)。