[neurun] Move template specializations (#4039)
author이한종/동작제어Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Fri, 14 Dec 2018 01:37:20 +0000 (10:37 +0900)
committer오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Fri, 14 Dec 2018 01:37:20 +0000 (10:37 +0900)
Move template specializations to source file to avoid duplicated
definition error.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
runtimes/neurun/src/util/config/ConfigManager.cc
runtimes/neurun/src/util/config/ConfigManager.h

index 9b8f97d..46b8031 100644 (file)
@@ -48,5 +48,27 @@ ConfigManager::ConfigManager()
 #undef CONFIG
 }
 
+template <> bool ConfigManager::get<bool>(const std::string &key) const
+{
+  auto raw = _map.at(key);
+
+  static const std::array<std::string, 5> false_list{"0", "OFF", "FALSE", "N", "NO"};
+  auto false_found = std::find(false_list.begin(), false_list.end(), raw);
+
+  return (false_found == false_list.end());
+}
+
+template <> int ConfigManager::get<int>(const std::string &key) const
+{
+  auto raw = _map.at(key);
+  return std::stoi(raw);
+}
+
+template <> std::string ConfigManager::get<std::string>(const std::string &key) const
+{
+  auto raw = _map.at(key);
+  return raw;
+}
+
 } // namespace config
 } // namespace neurun
index 8c5b852..78db03d 100644 (file)
@@ -61,27 +61,9 @@ private:
   std::unordered_map<std::string, std::string> _map;
 };
 
-template <> bool ConfigManager::get<bool>(const std::string &key) const
-{
-  auto raw = _map.at(key);
-
-  static const std::array<std::string, 5> false_list{"0", "OFF", "FALSE", "N", "NO"};
-  auto false_found = std::find(false_list.begin(), false_list.end(), raw);
-
-  return (false_found == false_list.end());
-}
-
-template <> int ConfigManager::get<int>(const std::string &key) const
-{
-  auto raw = _map.at(key);
-  return std::stoi(raw);
-}
-
-template <> std::string ConfigManager::get<std::string>(const std::string &key) const
-{
-  auto raw = _map.at(key);
-  return raw;
-}
+template <> bool ConfigManager::get<bool>(const std::string &key) const;
+template <> int ConfigManager::get<int>(const std::string &key) const;
+template <> std::string ConfigManager::get<std::string>(const std::string &key) const;
 
 } // namespace config
 } // namespace neurun