summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-06 19:21:11 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-06 19:21:11 +0100
commit036ee7dd97f42efeecf1c66396731419a973126a (patch)
tree71e5e7d56464a1e7c161186e030571254fb1138c /src/core
parent7fb170a87a4551a048487361b7aaf29963dc7b99 (diff)
made cardinality to an own class instead of using.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/RangeSet.cpp6
-rw-r--r--src/core/RangeSet.hpp7
-rw-r--r--src/core/model/Domain.cpp4
-rw-r--r--src/core/model/Domain.hpp4
4 files changed, 10 insertions, 11 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);