[enco] Introduce CppCode class (#1125)
author박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Wed, 22 Aug 2018 05:36:12 +0000 (14:36 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Wed, 22 Aug 2018 05:36:12 +0000 (14:36 +0900)
This commit introduces CppCode class which encapsulates C++ code
emitter.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
contrib/enco/core/src/CppCode.cpp [new file with mode: 0644]
contrib/enco/core/src/CppCode.h [new file with mode: 0644]

diff --git a/contrib/enco/core/src/CppCode.cpp b/contrib/enco/core/src/CppCode.cpp
new file mode 100644 (file)
index 0000000..ab7d5aa
--- /dev/null
@@ -0,0 +1,10 @@
+#include "CppCode.h"
+
+#include <stdexcept>
+
+namespace enco
+{
+
+void CppCode::dump(std::ostream &os) const { throw std::runtime_error{"Not implemented, yet"}; }
+
+} // namespace enco
diff --git a/contrib/enco/core/src/CppCode.h b/contrib/enco/core/src/CppCode.h
new file mode 100644 (file)
index 0000000..ac2150e
--- /dev/null
@@ -0,0 +1,34 @@
+#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__