diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-06 19:21:11 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-06 19:21:11 +0100 |
commit | 036ee7dd97f42efeecf1c66396731419a973126a (patch) | |
tree | 71e5e7d56464a1e7c161186e030571254fb1138c /src | |
parent | 7fb170a87a4551a048487361b7aaf29963dc7b99 (diff) |
made cardinality to an own class instead of using.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/RangeSet.cpp | 6 | ||||
-rw-r--r-- | src/core/RangeSet.hpp | 7 | ||||
-rw-r--r-- | src/core/model/Domain.cpp | 4 | ||||
-rw-r--r-- | src/core/model/Domain.hpp | 4 | ||||
-rw-r--r-- | src/plugins/xml/XmlParser.cpp | 2 |
5 files changed, 11 insertions, 12 deletions
diff --git a/src/core/RangeSet.cpp b/src/core/RangeSet.cpp index c07dc9b..72953b0 100644 --- a/src/core/RangeSet.cpp +++ b/src/core/RangeSet.cpp @@ -20,13 +20,11 @@ namespace ousia { -static Cardinality createAny() +Cardinality Cardinality::any() { Cardinality any; - any.merge(Range<size_t>::typeRangeFrom(0)); + any.merge(Range<size_t>::typeRange()); return std::move(any); } - -const Cardinality AnyCardinality = createAny(); } diff --git a/src/core/RangeSet.hpp b/src/core/RangeSet.hpp index f5b56e2..9310d72 100644 --- a/src/core/RangeSet.hpp +++ b/src/core/RangeSet.hpp @@ -417,9 +417,10 @@ public: /** * This is the default cardinality. */ -using Cardinality = RangeSet<size_t>; -extern const Cardinality AnyCardinality; - +class Cardinality : public RangeSet<size_t> { +public: + static Cardinality any(); +}; } #endif /* _OUSIA_RANGE_SET_HPP_ */ diff --git a/src/core/model/Domain.cpp b/src/core/model/Domain.cpp index 3284759..7d5a76e 100644 --- a/src/core/model/Domain.cpp +++ b/src/core/model/Domain.cpp @@ -320,7 +320,7 @@ StructuredClass::StructuredClass(Manager &mgr, std::string name, Handle<StructuredClass> superclass, bool transparent, bool root) : Descriptor(mgr, std::move(name), domain), - cardinality(std::move(cardinality)), + cardinality(cardinality), superclass(acquire(superclass)), subclasses(this), transparent(transparent), @@ -533,7 +533,7 @@ Rooted<StructuredClass> Domain::createStructuredClass( bool transparent, bool root) { return Rooted<StructuredClass>{new StructuredClass( - getManager(), std::move(name), this, std::move(cardinality), superclass, + getManager(), std::move(name), this, cardinality, superclass, std::move(transparent), std::move(root))}; } diff --git a/src/core/model/Domain.hpp b/src/core/model/Domain.hpp index cd05441..53579bd 100644 --- a/src/core/model/Domain.hpp +++ b/src/core/model/Domain.hpp @@ -751,7 +751,7 @@ public: */ StructuredClass(Manager &mgr, std::string name, Handle<Domain> domain = nullptr, - Variant cardinality = AnyCardinality, + Variant cardinality = Cardinality::any(), Handle<StructuredClass> superclass = nullptr, bool transparent = false, bool root = false); @@ -1010,7 +1010,7 @@ public: * @return the newly created StructuredClass. */ Rooted<StructuredClass> createStructuredClass( - std::string name, Variant cardinality = AnyCardinality, + std::string name, Variant cardinality = Cardinality::any(), Handle<StructuredClass> superclass = nullptr, bool transparent = false, bool root = false); diff --git a/src/plugins/xml/XmlParser.cpp b/src/plugins/xml/XmlParser.cpp index 7b4b1b3..0c88c5d 100644 --- a/src/plugins/xml/XmlParser.cpp +++ b/src/plugins/xml/XmlParser.cpp @@ -883,7 +883,7 @@ static const ParserState DomainStruct = .createdNodeType(&RttiTypes::StructuredClass) .elementHandler(DomainStructHandler::create) .arguments({Argument::String("name"), - Argument::Cardinality("cardinality", AnyCardinality), + Argument::Cardinality("cardinality", Cardinality::any()), Argument::Bool("isRoot", false), Argument::Bool("transparent", false), Argument::String("isa", "")}); |