summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/task/simple-task.hh
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/src/task/simple-task.hh')
-rw-r--r--tiger-compiler/src/task/simple-task.hh34
1 files changed, 34 insertions, 0 deletions
diff --git a/tiger-compiler/src/task/simple-task.hh b/tiger-compiler/src/task/simple-task.hh
new file mode 100644
index 0000000..b44b8ea
--- /dev/null
+++ b/tiger-compiler/src/task/simple-task.hh
@@ -0,0 +1,34 @@
+/**
+ ** \file task/simple-task.hh
+ ** \brief Declare the task::SimpleTask class.
+ */
+
+#pragma once
+
+#include <string>
+
+#include <task/task.hh>
+
+namespace task
+{
+ /** \brief A code factoring class for tasks without arguments.
+
+ The purpose of this class is to avoid duplicating the code which register a
+ task without arguments. The sibling class task::ArgumentTask does pretty much
+ the same (with extended functionnalities) for tasks with arguments.
+ */
+ class SimpleTask : public Task
+ {
+ /** \name Ctor. */
+ /** \{ */
+ public:
+ /// Construct and register a SimpleTask.
+ SimpleTask(const char* name,
+ const char* module_name,
+ const char* desc,
+ std::string deps = "");
+
+ /** \} */
+ };
+
+} // namespace task