From 036ee7dd97f42efeecf1c66396731419a973126a Mon Sep 17 00:00:00 2001 From: Benjamin Paassen Date: Fri, 6 Feb 2015 19:21:11 +0100 Subject: made cardinality to an own class instead of using. --- src/core/RangeSet.cpp | 6 ++---- src/core/RangeSet.hpp | 7 ++++--- src/core/model/Domain.cpp | 4 ++-- src/core/model/Domain.hpp | 4 ++-- 4 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src/core') 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::typeRangeFrom(0)); + any.merge(Range::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; -extern const Cardinality AnyCardinality; - +class Cardinality : public RangeSet { +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 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 Domain::createStructuredClass( bool transparent, bool root) { return Rooted{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 = nullptr, - Variant cardinality = AnyCardinality, + Variant cardinality = Cardinality::any(), Handle superclass = nullptr, bool transparent = false, bool root = false); @@ -1010,7 +1010,7 @@ public: * @return the newly created StructuredClass. */ Rooted createStructuredClass( - std::string name, Variant cardinality = AnyCardinality, + std::string name, Variant cardinality = Cardinality::any(), Handle superclass = nullptr, bool transparent = false, bool root = false); -- cgit v1.2.3