29 lines
478 B
C++
29 lines
478 B
C++
#pragma once
|
|
|
|
#include <sstream>
|
|
|
|
namespace NeuralNetwork {
|
|
class Stringifiable {
|
|
public:
|
|
|
|
virtual ~Stringifiable() {
|
|
}
|
|
|
|
/**
|
|
* @brief This is a virtual function for class
|
|
*/
|
|
virtual void stringify(std::ostream& out) const =0;
|
|
|
|
virtual std::string stringify() final {
|
|
std::ostringstream s;
|
|
stringify(s);
|
|
return s.str();
|
|
}
|
|
|
|
};
|
|
|
|
static std::ostream& operator<<(std::ostream& o, const Stringifiable& n) {
|
|
n.stringify(o);
|
|
return o;
|
|
}
|
|
} |