From 1cb5fdc15c5f8399ca08377eb498f7c27c2eee85 Mon Sep 17 00:00:00 2001 From: Benjamin Paassen Date: Thu, 6 Mar 2014 11:54:40 +0000 Subject: reworked the model classes according to manipulated GraphNode and removed some bugs resulting from a misunderstanding between abtract domain declarations and instances. git-svn-id: file:///var/local/svn/basicwriter@29 daaaf23c-2e50-4459-9457-1e69db5a47bf --- src/model/domain/Layer.hpp | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'src/model/domain/Layer.hpp') diff --git a/src/model/domain/Layer.hpp b/src/model/domain/Layer.hpp index 5d609ca..898c54d 100644 --- a/src/model/domain/Layer.hpp +++ b/src/model/domain/Layer.hpp @@ -16,32 +16,42 @@ along with this program. If not, see . */ -#ifndef _LAYER_HPP_ -#define _LAYER_HPP_ +#ifndef _OUSIA_MODEL_DOMAIN_LAYER_HPP_ +#define _OUSIA_MODEL_DOMAIN_LAYER_HPP_ -#include -#include - -#include -#include +#include "AnnotationReference.hpp" namespace ousia { +namespace model { namespace domain { -class Layer : public GraphNode { +/** + * 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> annotations; + std::vector> conjunctions; public: - using GraphNode::GraphNode; - std::vector>& getAnnotations() + /** + * 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>& getConjunctions() { - return annotations; + return conjunctions; } }; + } } +} + +#endif /* _OUSIA_MODEL_DOMAIN_LAYER_HPP_ */ -#endif /* _LAYER_HPP_ */ -- cgit v1.2.3