summaryrefslogtreecommitdiff
path: root/src/core/common/Argument.cpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-30 18:19:03 +0100
committerAndreas Stöckel <andreas@somweyr.de>2015-01-30 18:19:03 +0100
commit6cde9cfcf21e18cd175008029432b91143578033 (patch)
tree8965c9a68ea98cfec9dd756002119d4fe971620b /src/core/common/Argument.cpp
parenta92d31d1a84124758ae15e80e90efea93f03d416 (diff)
Added Argument::Cardinality named constructor to Argument
Diffstat (limited to 'src/core/common/Argument.cpp')
-rw-r--r--src/core/common/Argument.cpp19
1 files changed, 14 insertions, 5 deletions
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,