summaryrefslogtreecommitdiff
path: root/src/core/model
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-15 02:16:43 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-15 02:16:43 +0100
commitfb9e333486f2a44d5cedeff4c9397db0b1766bca (patch)
tree11ed6d7dbd63514b38aa76ef8bf338869e700496 /src/core/model
parent1889a5ca33ac1253ce1b220f667bf0ea94515a1b (diff)
lambdas are so much cooler
Diffstat (limited to 'src/core/model')
-rw-r--r--src/core/model/Node.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/core/model/Node.cpp b/src/core/model/Node.cpp
index 54512d5..17ee9b3 100644
--- a/src/core/model/Node.cpp
+++ b/src/core/model/Node.cpp
@@ -352,29 +352,20 @@ std::vector<ResolutionResult> Node::resolve(const std::string &name,
return resolve(std::vector<std::string>{name}, type);
}
-/* Reflection Methods */
-
-static Variant getNodeName(const Node *obj)
-{
- return Variant::fromString(obj->getName());
-}
-
-static void setNodeName(const Variant &value, Node *obj)
-{
- obj->setName(value.asString());
-}
-
-static Variant getNodeParent(const Node *obj)
-{
- return Variant::fromObject(obj->getParent());
-}
-
/* RTTI type registrations */
namespace RttiTypes {
const Rtti<ousia::Node> Node =
TypedRttiBuilder<ousia::Node>("Node")
- .property("name", {RttiTypes::String, getNodeName, setNodeName})
- .property("parent", {Node, getNodeParent});
+ .property("name", {RttiTypes::String,
+ {[](const ousia::Node *obj) {
+ return Variant::fromString(obj->getName());
+ }},
+ {[](const Variant &value, ousia::Node *obj) {
+ obj->setName(value.asString());
+ }}})
+ .property("parent", {Node, {[](const ousia::Node *obj) {
+ return Variant::fromObject(obj->getParent());
+ }}});
}
}