[neurun] Add iterate() to FunctionSequence (#6977)
author김용섭/On-Device Lab(SR)/Engineer/삼성전자 <yons.kim@samsung.com>
Thu, 29 Aug 2019 07:25:31 +0000 (16:25 +0900)
committer오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Thu, 29 Aug 2019 07:25:31 +0000 (16:25 +0900)
Add iterate() to FunctionSequence for #6156

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
runtimes/neurun/core/src/exec/FunctionSequence.cc
runtimes/neurun/core/src/exec/FunctionSequence.h

index d3b6f1f..00214fc 100644 (file)
@@ -50,5 +50,13 @@ void FunctionSequence::append(std::unique_ptr<IFunction> &&function)
   _functions.push_back(std::move(function));
 }
 
+void FunctionSequence::iterate(const std::function<void(IFunction &)> &fn)
+{
+  for (const auto &func : _functions)
+  {
+    fn(*func);
+  }
+}
+
 } // namespace exec
 } // namespace neurun
index b61d3c0..2ba5c0b 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <memory>
 #include <vector>
+#include <functional>
 
 #include "exec/IFunction.h"
 
@@ -43,6 +44,8 @@ public:
    */
   void append(std::unique_ptr<IFunction> &&function);
 
+  void iterate(const std::function<void(IFunction &)> &fn);
+
 private:
   std::vector<std::unique_ptr<IFunction>> _functions;
 };