use lambda instead of inner class for name assignment functions

Change-Id: Icebc0df03aad489a945365b829338d9dc2879fdd
diff --git a/src/name-assignments/assignment-or.cpp b/src/name-assignments/assignment-or.cpp
index 6fc3e97..78cfc3e 100644
--- a/src/name-assignments/assignment-or.cpp
+++ b/src/name-assignments/assignment-or.cpp
@@ -18,7 +18,15 @@
 NameAssignmentFunc
 AssignmentOr::getFunction(std::list<NameAssignmentFunc> funcs){
     if (funcs.size() == 1) return *funcs.begin();
-    return OrAssignmentFunc(funcs);
+    return [funcs](const std::vector<std::tuple<std::string, std::string>> params){
+        std::vector<PartialName> nameList;
+        for (const auto& func : funcs) {
+            auto result = func(params);
+            nameList.insert(nameList.end(), result.begin(), result.end());
+        }
+
+        return nameList;
+    };
 }
 
 NameAssignmentFunc
@@ -51,21 +59,5 @@
     return getFunction(paramList);
 }
 
-AssignmentOr::OrAssignmentFunc::OrAssignmentFunc(std::list<NameAssignmentFunc> funcList)
-    : m_funcList(std::move(funcList))
-{}
-
-std::vector<PartialName>
-AssignmentOr::OrAssignmentFunc::operator() (const std::vector<std::tuple<std::string, std::string>> params)
-{
-  std::vector<PartialName> nameList;
-  for (const auto& func : m_funcList) {
-      auto result = func(params);
-      nameList.insert(nameList.end(), result.begin(), result.end());
-  }
-
-  return nameList;
-}
-
 }
 }