From f3b4fb037955c2e71deec1ec3ad82be3fafdbf80 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Staff=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Thu, 19 Jul 2018 19:11:25 +0900 Subject: [PATCH] [coco] Add 'Module' class template (#721) This commit adds 'Module' class which serves as an entry point for coco IR. Note that this commit justs adds a template (or placeholder) for 'Module' implementation. Signed-off-by: Jonghyun Park --- contrib/coco/core/include/coco/IR/Module.h | 22 ++++++++++++++++++++++ contrib/coco/core/src/IR/Module.cpp | 3 +++ contrib/coco/core/src/IR/Module.test.cpp | 13 +++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 contrib/coco/core/include/coco/IR/Module.h create mode 100644 contrib/coco/core/src/IR/Module.cpp create mode 100644 contrib/coco/core/src/IR/Module.test.cpp diff --git a/contrib/coco/core/include/coco/IR/Module.h b/contrib/coco/core/include/coco/IR/Module.h new file mode 100644 index 0000000..3a511ab --- /dev/null +++ b/contrib/coco/core/include/coco/IR/Module.h @@ -0,0 +1,22 @@ +#ifndef __COCO_IR_MODULE_H__ +#define __COCO_IR_MODULE_H__ + +namespace coco +{ + +/** + * @breif Top-level element of coco IR which represents a neural network + */ +class Module final +{ +public: + Module() = default; + +public: + Module(const Module &) = delete; + Module(Module &&) = delete; +}; + +} // namespace coco + +#endif // __COCO_IR_MODULE_H__ diff --git a/contrib/coco/core/src/IR/Module.cpp b/contrib/coco/core/src/IR/Module.cpp new file mode 100644 index 0000000..fc32d05 --- /dev/null +++ b/contrib/coco/core/src/IR/Module.cpp @@ -0,0 +1,3 @@ +#include "coco/IR/Module.h" + +// NOTE Do NOT delete this file; this file checks the completeness of 'Module.h' diff --git a/contrib/coco/core/src/IR/Module.test.cpp b/contrib/coco/core/src/IR/Module.test.cpp new file mode 100644 index 0000000..e4aa140 --- /dev/null +++ b/contrib/coco/core/src/IR/Module.test.cpp @@ -0,0 +1,13 @@ +#include "coco/IR/Module.h" + +#include + +TEST(IR_MODULE, default_constructable) +{ + // coco::Module should be default constructable. + auto m = new coco::Module{}; + + ASSERT_NE(m, nullptr); + + delete m; +} -- 2.7.4