diff options
Diffstat (limited to 'src/model')
29 files changed, 0 insertions, 1619 deletions
diff --git a/src/model/GraphNode.cpp b/src/model/GraphNode.cpp deleted file mode 100644 index bfb8e63..0000000 --- a/src/model/GraphNode.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "GraphNode.hpp" - -#include <iostream> -#include <sstream> - -namespace ousia { -namespace model { - -GraphNode::GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent, -		const std::string &name) : -	type(type), parent(parent), name(name) -{ -	// Do nothing here -} - -const std::string GraphNode::getFullyQualifiedName() -{ -	if (parent) { -		std::stringstream ss; -		ss << parent->getFullyQualifiedName() << "." << name; -		return ss.str(); -	} -	return name; -} - -} -} - diff --git a/src/model/GraphNode.hpp b/src/model/GraphNode.hpp deleted file mode 100644 index 73d26a0..0000000 --- a/src/model/GraphNode.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_GRAPH_NODE_HPP_ -#define _OUSIA_MODEL_GRAPH_NODE_HPP_ - -#include <string> -#include <memory> - -namespace ousia { -namespace model { - -enum class GraphNodeType { -	Domain, Class, Annotation, Structure, ClassCategory, AnnotationCategory -}; - -class GraphNode { - -private: -	GraphNodeType type; -	std::shared_ptr<GraphNode> parent; -	std::string name; - -protected: -	GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = ""); - -public: -	const std::string getFullyQualifiedName(); - -	const std::string& getName() -	{ -		return name; -	} - -	void setName(const std::string &name) -	{ -		this->name = name; -	} - -	std::shared_ptr<GraphNode> getParent() -	{ -		return parent; -	} - -	void setParent(std::shared_ptr<GraphNode> parent) -	{ -		this->parent = parent; -	} - -	GraphNodeType getType() -	{ -		return type; -	} - -}; - -} -} - -#endif /* _OUSIA_MODEL_GRAPH_NODE_HPP_ */ - diff --git a/src/model/RangeSet.hpp b/src/model/RangeSet.hpp deleted file mode 100644 index ef86363..0000000 --- a/src/model/RangeSet.hpp +++ /dev/null @@ -1,326 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_RANGE_SET_HPP_ -#define _OUSIA_MODEL_RANGE_SET_HPP_ - -#include <limits> -#include <set> - -namespace ousia { -namespace model { -/** - * The Range structure represents an interval of numerical values of type T. - */ -template <typename T> -struct Range { -	/** -	 * Start is the start value of the range. -	 */ -	T start; - -	/** -	 * End is the end value of the range (inclusively). -	 */ -	T end; - -	/** -	 * Default constructor of the range class. The range is initialized as -	 * invalid, with start being set to the maximum possible value of the -	 * numerical type T, and end being set to the minimum possible value. -	 */ -	Range() : -		start(std::numeric_limits<T>::max()), -		end(std::numeric_limits<T>::min()) -	{ -		// Do nothing here -	} - -	/** -	 * Copies the given start and end value. The given values are not checked -	 * for validity. Use the "isValid"  -	 * -	 * @param start is the minimum value the range still covers. -	 * @param end is the maximum value the range still covers. -	 */ -	Range(const T &start, const T &end) : -		start(start), end(end) -	{ -		// Do nothing here -	} - -	/** -	 * Creates a range that covers exactly one element, namely the value given -	 * as parameter n. -	 */ -	Range(const T &n) : -		start(n), end(n) -	{ -		// Do nothing here -	} - -	/** -	 * Returns true if this range is valid, e.g. its start value is smaller or -	 * equal to its end value. -	 * -	 * @return true if start is smaller or equal to end, false otherwise. -	 */ -	bool isValid() const -	{ -		return start <= end; -	} - -	/** -	 * Checks whether the given value lies inside the range. -	 * -	 * @param v is the value that is being checked. -	 * @return true if the value lies within the range, false otherwise. -	 */ -	bool inRange(T v) const -	{ -		return (v >= start) && (v <= end); -	} - -	/** -	 * Checks whether the given range overlapps with another range. Not that -	 * this check is only meaningful if both ranges are valid. -	 * -	 * @param r is the range that should be checked for overlapping with this -	 * range. -	 */ -	bool overlapps(const Range<T> &r) const -	{ -		return (((r.start >= start) || (r.end >= start)) -				&& ((r.start <= end) || (r.end <= end))); -	} - -	/** -	 * Returns true if the two given ranges are neighbours (their limits only -	 * differ in the smallest representable difference between them). -	 */ -	bool neighbours(const Range<T> &r) const -	{ -		constexpr T eps = std::numeric_limits<T>::is_integer -				? 1 : std::numeric_limits<T>::epsilon(); -		return ((r.start > end) && ((r.start - eps) <= end)) -				|| ((r.end < start) && ((r.end + eps) >= start)); -	} - -	/** -	 * Checks whether the given range completely covers this range. -	 */ -	bool coveredBy(const Range<T> &r) const -	{ -		return (r.start <= start) && (r.end >= end); -	} - -	/** -	 * Checks whether this range completely covers the given range. -	 */ -	bool covers(const Range<T> &r) const -	{ -		return r.coveredBy(*this); -	} - -	/** -	 * Calculates the union of the two ranges -- not that this operation is only -	 * valid if the ranges overlapp. Use the RangeSet class if you cannot -	 * guarantee that. -	 */ -	Range<T> merge(const Range<T> &r) const -	{ -		return Range(std::min(start, r.start), std::max(end, r.end)); -	} - -	/** -	 * Returns a range that represents the spans the complete set defined by the -	 * given type T. -	 */ -	static Range<T> typeRange() -	{ -		return Range(std::numeric_limits<T>::min(), -				std::numeric_limits<T>::max()); -	} - -	/** -	 * Returns a range that represents the spans the complete set defined by the -	 * given type T up to a given value. -	 * -	 * @param till is the value up to which the range should be defined (till is -	 * included in the set). -	 */ -	 static Range<T> typeRangeUntil(const T &till) -	{ -		return Range(std::numeric_limits<T>::min(), till); -	} - -	/** -	 * Returns a range that represents the spans the complete set defined by the -	 * given type T up to a given value. -	 * -	 * @param from is the value from which the range should be defined (from is -	 * included in the set). -	 */ -	static Range<T> typeRangeFrom(const T &from) -	{ -		return Range(from, std::numeric_limits<T>::max()); -	} -}; - -/** - * RangeComp is a comperator used to order to sort the ranges within the - * ranges list. Sorts by the start element. - */ -template<typename T> -struct RangeComp { -	bool operator() (const Range<T>& lhs, const Range<T>& rhs) const -	{ -		return lhs.start < rhs.start; -	} -}; - -/** - * RangeSet represents a set of ranges of the given numerical type and is thus - * capable of representing any possible subset of the given numerical type T. - */ -template<typename T> -class RangeSet { - -protected: -	/** -	 * Set of ranges used internally. -	 */ -	std::set<Range<T>, RangeComp<T>> ranges; - -	/** -	 * Returns an iterator to the first element in the ranges list that overlapps -	 * with the given range. -	 * -	 * @param r is the range for which the first overlapping element should be -	 * found. -	 * @return an iterator pointing to the first overlapping element or to the -	 * end of the list if no such element was found. -	 */ -	typename std::set<Range<T>, RangeComp<T>>::iterator firstOverlapping( -			const Range<T> &r, const bool allowNeighbours) -	{ -		// Find the element with the next larger start value compared to the -		// start value given in r. -		auto it = ranges.upper_bound(r); - -		// Go back one element -		if (it != ranges.begin()) { -			it--; -		} - -		// Iterate until an overlapping element is found -		while (!(it->overlapps(r) || (allowNeighbours && it->neighbours(r))) -				&& (it != ranges.end())) { -			it++; -		} -		return it; -	} - -public: -	/** -	 * Calculates the union of this range set and the given range. -	 * -	 * @param range is the range that should be merged into this range set. -	 */ -	void merge(Range<T> r) -	{ -		// Calculate a new range that covers both the new range and all old -		// ranges in the set -- delete all old elements on the way -		auto it = firstOverlapping(r, true); -		while ((it->overlapps(r) || it->neighbours(r)) && it != ranges.end()) { -				r = r.merge(*it); -				it = ranges.erase(it); -		} - -		// Insert the new range -		ranges.insert(r); -	} - -	/** -	 * Calculates the union of this range set and the given range set. -	 * -	 * @param ranges is another range set for which the union with this set -	 * should be calculated. -	 */ -	void merge(const RangeSet<T> &s) -	{ -		for (Range<T> &r : s.ranges) { -			merge(r); -		} -	} - -	/** -	 * Checks whether this range set S contains the given range R: -	 *   S u R = R -	 * (The intersection between R and S equals the given range) -	 * -	 * @param r is the range for which the containment should be checked. -	 * @return true if the above condition is met, false otherwise. -	 */ -	bool contains(const Range<T> &r) -	{ -		auto it = firstOverlapping(r, false); -		if (it != ranges.end()) { -			return (*it).covers(r); -		} -		return false; -	} - -	/** -	 * Checks whether this range set S1 contains the given range set S2: -	 * -	 * @param s is the range for which the containment should be checked. -	 * @return true if the above condition is met, false otherwise. -	 */ -	bool contains(const RangeSet<T> &s) -	{ -		bool res = true; -		for (Range<T> &r : s.ranges) { -			res = res && contains(r); -		} -		return res; -	} - -	/** -	 * Empties the set. -	 */ -	void clear() -	{ -		ranges.clear(); -	} - -	/** -	 * Returns the current list of ranges as a const reference. -	 */ -	const std::set<Range<T>, RangeComp<T>>& getRanges() -	{ -		return this->ranges; -	} - -}; - -} -} - -#endif /* _OUSIA_MODEL_RANGE_SET_HPP_ */ - diff --git a/src/model/document/Anchor.cpp b/src/model/document/Anchor.cpp deleted file mode 100644 index e153161..0000000 --- a/src/model/document/Anchor.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/domain/Anchor.hpp> - -namespace ousia { -namespace domain { - -//This class is fully specified by its header. - -} -} - diff --git a/src/model/document/Anchor.hpp b/src/model/document/Anchor.hpp deleted file mode 100644 index 66ff8eb..0000000 --- a/src/model/document/Anchor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _ANCHOR_HPP_ -#define _ANCHOR_HPP_ - -#include <model/GraphNode.hpp> - -namespace ousia { -namespace domain { - -class Anchor : public GraphNode { - -public: -	using GraphNode::GraphNode; - -}; -} -} - -#endif /* _ANCHOR_HPP_ */ diff --git a/src/model/domain/Annotation.cpp b/src/model/domain/Annotation.cpp deleted file mode 100644 index 42e6ce8..0000000 --- a/src/model/domain/Annotation.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/domain/Annotation.hpp> - -namespace ousia { -namespace model { -namespace domain { - -//This class is fully defined by its header. - -} -} -} - diff --git a/src/model/domain/Annotation.hpp b/src/model/domain/Annotation.hpp deleted file mode 100644 index 0e84d1c..0000000 --- a/src/model/domain/Annotation.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_ANNOTATION_HPP_ -#define _OUSIA_MODEL_DOMAIN_ANNOTATION_HPP_ - -#include <memory> -#include <string> -#include <vector> - -#include <model/GraphNode.hpp> -#include "Structure.hpp" -#include "Field.hpp" - -namespace ousia { -namespace model { -namespace domain { - -//class Structure; -//class Field; - -class Annotation : public GraphNode { - -private: -	std::vector<std::shared_ptr<Structure>> structures; -	std::vector<std::shared_ptr<Field>> fields; - -public: - -	Annotation(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::Annotation, parent, name) -	{ -		// Do nothing here -	} - -	std::vector<std::shared_ptr<Structure>>& getStructures() -	{ -		return structures; -	} - -	std::vector<std::shared_ptr<Field>>& getFields() -	{ -		return fields; -	} -}; -} -} -} -#endif /* _OUSIA_MODEL_DOMAIN_ANNOTATION_HPP_ */ diff --git a/src/model/domain/AnnotationCategory.hpp b/src/model/domain/AnnotationCategory.hpp deleted file mode 100644 index 8ec6003..0000000 --- a/src/model/domain/AnnotationCategory.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_ANNOTATIONCATEGORY_HPP_ -#define _OUSIA_MODEL_DOMAIN_ANNOTATIONCATEGORY_HPP_ - -#include <memory> -#include <string> -#include <vector> - -#include <model/GraphNode.hpp> - -#include "Annotation.hpp" - -namespace ousia { -namespace model { -namespace domain { - -class AnnotationCategory : public GraphNode { - -private: -	std::vector<std::shared_ptr<Annotation>> annotations; - -public: - -	AnnotationCategory(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::AnnotationCategory, parent, name) -	{ -		// Do nothing here -	} - -	std::vector<std::shared_ptr<Annotation>>& getAnnotations() -	{ -		return annotations; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_ANNOTATIONCATEGORY_HPP_ */ - diff --git a/src/model/domain/AnnotationReference.hpp b/src/model/domain/AnnotationReference.hpp deleted file mode 100644 index 873938e..0000000 --- a/src/model/domain/AnnotationReference.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_ANNOTATIONREFERENCE_HPP_ -#define _OUSIA_MODEL_DOMAIN_ANNOTATIONREFERENCE_HPP_ - -#include <string> - -namespace ousia { -namespace model { -namespace domain { - -/** - * A AnnotationReference is an expression resolvable to either a single - * annotation or any annotation in some given category (* expression). - */ -class AnnotationReference { - -private: -	std::string domainName; -	std::string categoryName; -	/** -	 * The annotation name might also be "any". -	 */ -	std::string className; - -public: - -	const std::string& getDomainName() -	{ -		return domainName; -	} - -	const std::string& getCategoryName() -	{ -		return categoryName; -	} - -	const std::string& getClassName() -	{ -		return className; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_ANNOTATIONREFERENCE_HPP_ */ - diff --git a/src/model/domain/Category.cpp b/src/model/domain/Category.cpp deleted file mode 100644 index c509285..0000000 --- a/src/model/domain/Category.cpp +++ /dev/null @@ -1,19 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - - diff --git a/src/model/domain/Category.hpp b/src/model/domain/Category.hpp deleted file mode 100644 index 6255e6a..0000000 --- a/src/model/domain/Category.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _CATEGORY_HPP_ -#define _CATEGORY_HPP_ - -#include <memory> -#include <vector> - -#include <model/GraphNode.hpp> - -#include "Class.hpp" - -namespace ousia { -namespace domain { - -class Category : public GraphNode { - -private: -	std::vector<std::shared_ptr<Class>> classes; - -public: - -	std::vector<std::shared_ptr<Class>>& getClasses() -	{ -		return classes; -	} - -}; - -} -} - -#endif /* _CATEGORY_HPP_ */ - diff --git a/src/model/domain/Class.cpp b/src/model/domain/Class.cpp deleted file mode 100644 index e69de29..0000000 --- a/src/model/domain/Class.cpp +++ /dev/null diff --git a/src/model/domain/Class.hpp b/src/model/domain/Class.hpp deleted file mode 100644 index 6100214..0000000 --- a/src/model/domain/Class.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_CLASS_HPP_ -#define _OUSIA_MODEL_DOMAIN_CLASS_HPP_ - -#include <memory> -#include <string> -#include <vector> - -#include <model/GraphNode.hpp> -#include "ClassReferenceSet.hpp" -#include "Field.hpp" -#include "Layer.hpp" - -namespace ousia { -namespace model { -namespace domain { - -/** - * A class represents some semantic concept in a given domain that has - * structural relevance, like headings in a text. Classes are usually expected - * to be in a "tree-esque" structure: It is not really a tree, but we still - * think about classes as nodes with children, even though children might be - * nodes higher up the tree, which leads to cycles. - */ -class Class : public GraphNode { - -private: - -	std::vector<std::shared_ptr<ClassReferenceSet>> children; -	std::vector<std::shared_ptr<Field>> fields; -	std::vector<std::shared_ptr<Layer>> layers; - -public: -	 -	Class(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::Class, parent, name) -	{ -		// Do nothing here -	} - -	/** -	 * The children of a given class are not resolved on parsing time but lazily -	 * during document creation and validation time. This circumvents some -	 * problems we would have otherwise like: How do we treat the case that -	 * merging two domains adds more possible classes to some given category? -	 * How do we treat references to linked domains? -	 * -	 * Thus we do not specify the children that are allowed but a sequence of -	 * sets that define what set of classes is allowed at each point in the -	 * children sequence. Please note that each ClassReferenceSet also stores -	 * a cardinality, how many children, that are members of this set, have to -	 * exist. Therefore this construction can be interpreted as a quasi finite -	 * state automaton, e.g.: -	 * -	 * (class1|class2)* (class3){1,4} -	 */ -	std::vector<std::shared_ptr<ClassReferenceSet>>& getChildren() -	{ -		return children; -	} - -	std::vector<std::shared_ptr<Field>>& getFields() -	{ -		return fields; -	} - -	/** -	 * Layers specify the annotations that are allowed upon instances of this -	 * class and its children. -	 */ -	std::vector<std::shared_ptr<Layer>>& getLayers() -	{ -		return layers; -	} -}; -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_CLASS_HPP_ */ - diff --git a/src/model/domain/ClassCategory.hpp b/src/model/domain/ClassCategory.hpp deleted file mode 100644 index 2f60284..0000000 --- a/src/model/domain/ClassCategory.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_CLASSCATEGORY_HPP_ -#define _OUSIA_MODEL_DOMAIN_CLASSCATEGORY_HPP_ - -#include <memory> -#include <string> -#include <vector> - -#include <model/GraphNode.hpp> - -#include "Class.hpp" - -namespace ousia { -namespace model { -namespace domain { - -class ClassCategory : public GraphNode { - -private: -	std::vector<std::shared_ptr<Class>> classes; - -public: - -	ClassCategory(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::ClassCategory, parent, name) -	{ -		// Do nothing here -	} - -	std::vector<std::shared_ptr<Class>>& getClasses() -	{ -		return classes; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_CLASSCATEGORY_HPP_ */ - diff --git a/src/model/domain/ClassReference.hpp b/src/model/domain/ClassReference.hpp deleted file mode 100644 index 807fd76..0000000 --- a/src/model/domain/ClassReference.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_CLASSREFERENCE_HPP_ -#define _OUSIA_MODEL_DOMAIN_CLASSREFERENCE_HPP_ - -#include <string> - -namespace ousia { -namespace model { -namespace domain { - -/** - * A ClassReference is an expression resolvable to either a single class or - * any class in some given category (* expression). - */ -class ClassReference { - -private: -	std::string domainName; -	std::string categoryName; -	/** -	 * The class name might also be "any". -	 */ -	std::string className; - -public: - -	const std::string& getDomainName() -	{ -		return domainName; -	} - -	const std::string& getCategoryName() -	{ -		return categoryName; -	} - -	const std::string& getClassName() -	{ -		return className; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_CLASSREFERENCE_HPP_ */ - diff --git a/src/model/domain/ClassReferenceSet.cpp b/src/model/domain/ClassReferenceSet.cpp deleted file mode 100644 index 14f57a2..0000000 --- a/src/model/domain/ClassReferenceSet.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ -namespace ousia { -namespace model { -namespace domain { - -	//For now this class is fully specified by its header. - -} -} -} - - diff --git a/src/model/domain/ClassReferenceSet.hpp b/src/model/domain/ClassReferenceSet.hpp deleted file mode 100644 index 61db014..0000000 --- a/src/model/domain/ClassReferenceSet.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_CLASSREFERENCESET_HPP_ -#define _OUSIA_MODEL_DOMAIN_CLASSREFERENCESET_HPP_ - -#include "ClassReference.hpp" -#include <model/RangeSet.hpp> - -namespace ousia { -namespace model { -namespace domain { - -/** - * A ClassReferenceSet lazily defines references to classes that are allowed at - * this point of the domain description. It specifies a set in a twofold meaning: - * 1.) It defines the set of classes, that are allowed. - * 2.) It defines how many instances of those classes have to be instantiated - *		in a document that implements this domain standard (cardinality). - */ -class ClassReferenceSet { - -private: -	std::vector<std::shared_ptr<ClassReference>> conjunctions; -	std::shared_ptr<RangeSet<unsigned int>> cardinality; - -public: - -	/** -	 * This defines the conjunctions of references to classes that are allowed -	 * Please note that each ClassReference again does not have to reference to -	 * a single class but can also reference to multiple classes in a * -	 * expression. -	 */ -	std::vector<std::shared_ptr<ClassReference>>& getConjunctions() -	{ -		return conjunctions; -	} - -	std::shared_ptr<RangeSet<unsigned int>> getCardinality() -	{ -		return cardinality; -	} - -	void setCardinality(std::shared_ptr<RangeSet<unsigned int>>) -	{ -		this->cardinality = cardinality; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_CLASSREFERENCESET_HPP_ */ - diff --git a/src/model/domain/Domain.cpp b/src/model/domain/Domain.cpp deleted file mode 100644 index 9b27e3a..0000000 --- a/src/model/domain/Domain.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "Domain.hpp" - -namespace ousia { -namespace model { -namespace domain { - -} -} -} diff --git a/src/model/domain/Domain.hpp b/src/model/domain/Domain.hpp deleted file mode 100644 index 278adc5..0000000 --- a/src/model/domain/Domain.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ -#define _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ - -#include <memory> -#include <string> -#include <vector> - -#include <model/GraphNode.hpp> - -#include "Structure.hpp" -#include "ClassCategory.hpp" -#include "AnnotationCategory.hpp" -#include "ClassReferenceSet.hpp" - -namespace ousia { -namespace model { -namespace domain { - -class Domain : public GraphNode { - -private: -	std::shared_ptr<ClassReferenceSet> root; -	std::vector<std::shared_ptr<Structure>> structures; -	std::vector<std::shared_ptr<ClassCategory>> classCategories; -	std::vector<std::shared_ptr<AnnotationCategory>> annotationCategories; - -public: - -	Domain(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::Domain, parent, name) -	{ -		// Do nothing here -	} - -	std::shared_ptr<ClassReferenceSet>& getRoot() -	{ -		return root; -	} - -	std::vector<std::shared_ptr<Structure>>& getStructures() -	{ -		return structures; -	} - -	std::vector<std::shared_ptr<ClassCategory>>& getClassCategories() -	{ -		return classCategories; -	} - -	std::vector<std::shared_ptr<AnnotationCategory>>& getAnnotationCategories() -	{ -		return annotationCategories; -	} - -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ */ - diff --git a/src/model/domain/Field.cpp b/src/model/domain/Field.cpp deleted file mode 100644 index af7f81e..0000000 --- a/src/model/domain/Field.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/domain/Field.hpp> - -namespace ousia { -namespace model { -namespace domain { - -	//This class is fully specified by its header. - -} -} -} diff --git a/src/model/domain/Field.hpp b/src/model/domain/Field.hpp deleted file mode 100644 index 293a361..0000000 --- a/src/model/domain/Field.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_FIELD_HPP_ -#define _OUSIA_MODEL_DOMAIN_FIELD_HPP_ - -#include <memory> - -#include <model/GraphNode.hpp> -#include <model/types/Type.hpp> - -namespace ousia{ - -//namespace types { -//	class Type; -//	class Value; -//} -namespace model { -namespace domain { - -class Field : public GraphNode { - -private: -	std::shared_ptr<types::Type> type; -	bool optional; - -public: -	using GraphNode::GraphNode; - -	std::shared_ptr<types::Type> getType() -	{ -		return type; -	} - -	void setType(std::shared_ptr<types::Type> type) -	{ -		this->type = type; -	} - -	bool getOptional() -	{ -		return optional; -	} - -	void setOptional(bool optional) -	{ -		this->optional = optional; -	} -}; -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_FIELD_HPP_ */ diff --git a/src/model/domain/Layer.cpp b/src/model/domain/Layer.cpp deleted file mode 100644 index fb22b4c..0000000 --- a/src/model/domain/Layer.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/domain/Layer.hpp> - -namespace ousia { -namespace domain { - -	//This class is fully specified by its header. - -} -} diff --git a/src/model/domain/Layer.hpp b/src/model/domain/Layer.hpp deleted file mode 100644 index d419710..0000000 --- a/src/model/domain/Layer.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_LAYER_HPP_ -#define _OUSIA_MODEL_DOMAIN_LAYER_HPP_ - -#include <memory> -#include <vector> - -#include "AnnotationReference.hpp" - -namespace ousia { -namespace model { -namespace domain { - -/** - * A Layer lazily defines references to annotations that are allowed upon - * certain classes. You can interpret a layer as a ClassReferenceSet minus the - * cardinality. - */ -class Layer { - -private: -	std::vector<std::shared_ptr<AnnotationReference>> conjunctions; - -public: - -	/** -	 * This defines the conjunctions of references to annotations that are allowed -	 * Please note that each AnnotationReference again does not have to reference to -	 * a single class but can also reference to multiple classes in a * -	 * expression. -	 */ -	std::vector<std::shared_ptr<AnnotationReference>>& getConjunctions() -	{ -		return conjunctions; -	} -}; - -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_LAYER_HPP_ */ - diff --git a/src/model/domain/Structure.cpp b/src/model/domain/Structure.cpp deleted file mode 100644 index f0f9d1e..0000000 --- a/src/model/domain/Structure.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - - -#include <model/domain/Structure.hpp> - -namespace ousia { -namespace model { -namespace domain { - -	//This class for now has no special features that would distinguish it -	//from an abstract GraphNode. - -} -} -} diff --git a/src/model/domain/Structure.hpp b/src/model/domain/Structure.hpp deleted file mode 100644 index 4f0604a..0000000 --- a/src/model/domain/Structure.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_MODEL_DOMAIN_STRUCTURE_HPP_ -#define _OUSIA_MODEL_DOMAIN_STRUCTURE_HPP_ - -#include <memory> -#include <string> - -#include <model/GraphNode.hpp> - -namespace ousia { -namespace model { -namespace domain { - -class Structure : public GraphNode { - -public: -	Structure(std::shared_ptr<GraphNode> parent = nullptr, -			const std::string &name = "") : -		GraphNode(GraphNodeType::Structure, parent, name) -	{ -		// Do nothing here -	} - - -}; -} -} -} - -#endif /* _OUSIA_MODEL_DOMAIN_STRUCTURE_HPP_ */ diff --git a/src/model/types/Type.cpp b/src/model/types/Type.cpp deleted file mode 100644 index d219b61..0000000 --- a/src/model/types/Type.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/GraphNode.hpp> -#include <model/types/Type.hpp> - -namespace ousia { -namespace types { - - -//TODO: THIS IS A DUMMY CLASS DECLARATION - -} -} diff --git a/src/model/types/Type.hpp b/src/model/types/Type.hpp deleted file mode 100644 index c4a9900..0000000 --- a/src/model/types/Type.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_TYPES_TYPE_HPP_ -#define _OUSIA_TYPES_TYPE_HPP_ - -namespace ousia { -namespace types { - -class Type { - -//TODO: THIS IS A DUMMY CLASS DECLARATION -}; -} -} -#endif /* _OUSIA_TYPES_TYPE_HPP_ */ diff --git a/src/model/types/Value.cpp b/src/model/types/Value.cpp deleted file mode 100644 index 73d233a..0000000 --- a/src/model/types/Value.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <model/GraphNode.hpp> -#include <model/types/Value.hpp> - -namespace ousia { -namespace types { - - -//TODO: THIS IS A DUMMY CLASS DECLARATION - -} -} diff --git a/src/model/types/Value.hpp b/src/model/types/Value.hpp deleted file mode 100644 index ec9f354..0000000 --- a/src/model/types/Value.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -    Ousía -    Copyright (C) 2014  Benjamin Paaßen, Andreas Stöckel - -    This program is free software: you can redistribute it and/or modify -    it under the terms of the GNU General Public License as published by -    the Free Software Foundation, either version 3 of the License, or -    (at your option) any later version. - -    This program is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -    GNU General Public License for more details. - -    You should have received a copy of the GNU General Public License -    along with this program.  If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef _OUSIA_TYPES_VALUE_HPP_ -#define _OUSIA_TYPES_VALUE_HPP_ - -namespace ousia { -namespace types { - -class Value { - -//TODO: THIS IS A DUMMY CLASS DECLARATION -}; -} -} -#endif /* _OUSIA_TYPES_VALUE_HPP_ */  | 
