単体テストに静的ポリモーフィズムを適用しようとしています
template<typename T, typename Output> class HistogramWriter
{
public:
static void write(const RGBHistogram<T> &hist, Output &output)
{
output << "ABCD" << std::endl;
}
};
今、単体テスト用のモッククラスへの出力を作成しようとしています
struct TestMock
{
std::string data;
};
istream& operator>>(istream &stream, TestMock &mock)
{
stream >> mock.data;
}
T を int に、Output を TestMock に設定すると、機能しません。もちろん、Output を std::cout に設定すれば機能します。
文字列を TestMock のデータにコピーしようとしています。しかし、私はそれを行う方法がわかりません.コンパイラは、バイナリ '<<' 演算子が見つかりませんと不平を言っています