From fb9e333486f2a44d5cedeff4c9397db0b1766bca Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Thu, 15 Jan 2015 02:16:43 +0100 Subject: lambdas are so much cooler --- src/core/model/Node.cpp | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) (limited to 'src') 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 Node::resolve(const std::string &name, return resolve(std::vector{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 Node = TypedRttiBuilder("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()); + }}}); } } -- cgit v1.2.3