This commit introduces CppCode class which encapsulates C++ code
emitter.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
--- /dev/null
+#include "CppCode.h"
+
+#include <stdexcept>
+
+namespace enco
+{
+
+void CppCode::dump(std::ostream &os) const { throw std::runtime_error{"Not implemented, yet"}; }
+
+} // namespace enco
--- /dev/null
+#ifndef __ENCO_CPP_CODE_H__
+#define __ENCO_CPP_CODE_H__
+
+#include "Code.h"
+
+#include <ostream>
+
+namespace enco
+{
+
+class CppCode
+{
+public:
+ CppCode(const Code *code) : _code{code}
+ {
+ // DO NOTHING
+ }
+
+public:
+ void dump(std::ostream &) const;
+
+private:
+ const Code *_code;
+};
+
+} // namespace enco
+
+static inline std::ostream &operator<<(std::ostream &os, const enco::CppCode &code)
+{
+ code.dump(os);
+ return os;
+}
+
+#endif // __ENCO_CPP_CODE_H__