From 6cde9cfcf21e18cd175008029432b91143578033 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Fri, 30 Jan 2015 18:19:03 +0100 Subject: Added Argument::Cardinality named constructor to Argument --- src/core/common/Argument.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/core/common/Argument.cpp') diff --git a/src/core/common/Argument.cpp b/src/core/common/Argument.cpp index 21d4f6c..05c9761 100644 --- a/src/core/common/Argument.cpp +++ b/src/core/common/Argument.cpp @@ -27,9 +27,8 @@ namespace ousia { /* Class Argument */ -Argument::Argument(std::string name, const Rtti &type, - const Rtti &innerType, Variant defaultValue, - bool hasDefault) +Argument::Argument(std::string name, const Rtti &type, const Rtti &innerType, + Variant defaultValue, bool hasDefault) : type(type), innerType(innerType), name(std::move(name)), @@ -105,8 +104,7 @@ Argument Argument::Object(std::string name, const Rtti &type) Variant::fromObject(nullptr), false); } -Argument Argument::Object(std::string name, const Rtti &type, - std::nullptr_t) +Argument Argument::Object(std::string name, const Rtti &type, std::nullptr_t) { return Argument(std::move(name), type, RttiTypes::None, Variant::fromObject(nullptr), true); @@ -170,6 +168,17 @@ Argument Argument::Map(std::string name, const Rtti &innerType, true); } +Argument Argument::Cardinality(std::string name) +{ + return Argument{name, RttiTypes::Cardinality}; +} + +Argument Argument::Cardinality(std::string name, + Variant::cardinalityType defaultValue) +{ + return Argument{name, RttiTypes::Cardinality, defaultValue}; +} + bool Argument::validate(Variant &var, Logger &logger) const { if (!VariantConverter::convert(var, type, innerType, logger, -- cgit v1.2.3