diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-11 13:53:15 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-11 13:53:15 +0100 |
commit | 6940aa0e6837f9d83f9b5c5b37d4fd7747c95c67 (patch) | |
tree | 75d0944ff4fd1754f2db55b081588c71482efd71 /src | |
parent | e6a7bbd753cba97f7bda154341d93d3f1241d2c4 (diff) |
Forward declaring Rtti stuff for fewer dependencies in the Rtti.hpp header
Diffstat (limited to 'src')
-rw-r--r-- | src/core/XML.cpp | 19 | ||||
-rw-r--r-- | src/core/XML.hpp | 7 | ||||
-rw-r--r-- | src/core/model/Document.hpp | 6 | ||||
-rw-r--r-- | src/core/model/Domain.hpp | 8 | ||||
-rw-r--r-- | src/core/model/Node.cpp | 1 | ||||
-rw-r--r-- | src/core/model/Node.hpp | 6 | ||||
-rw-r--r-- | src/core/model/Typesystem.hpp | 8 |
7 files changed, 51 insertions, 4 deletions
diff --git a/src/core/XML.cpp b/src/core/XML.cpp index b7d1511..a610daa 100644 --- a/src/core/XML.cpp +++ b/src/core/XML.cpp @@ -1,3 +1,22 @@ +/* + 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 <core/common/Rtti.hpp> #include "XML.hpp" diff --git a/src/core/XML.hpp b/src/core/XML.hpp index b05d4c6..5e2542b 100644 --- a/src/core/XML.hpp +++ b/src/core/XML.hpp @@ -45,11 +45,16 @@ #include <ostream> #include <vector> -#include <core/common/Rtti.hpp> #include <core/managed/Managed.hpp> #include <core/managed/ManagedContainer.hpp> namespace ousia { + +// Forward declarations +class RttiType; +template<class T> +class Rtti; + namespace xml { class Element; diff --git a/src/core/model/Document.hpp b/src/core/model/Document.hpp index c367e50..e27b577 100644 --- a/src/core/model/Document.hpp +++ b/src/core/model/Document.hpp @@ -108,6 +108,12 @@ #include "Typesystem.hpp" namespace ousia { + +// Forward declarations +class RttiType; +template<class T> +class Rtti; + namespace model { class StructuredEntity; diff --git a/src/core/model/Domain.hpp b/src/core/model/Domain.hpp index 7412ef4..c80d057 100644 --- a/src/core/model/Domain.hpp +++ b/src/core/model/Domain.hpp @@ -192,7 +192,6 @@ #ifndef _OUSIA_MODEL_DOMAIN_HPP_ #define _OUSIA_MODEL_DOMAIN_HPP_ -#include <core/common/Rtti.hpp> #include <core/managed/ManagedContainer.hpp> #include <core/RangeSet.hpp> @@ -200,8 +199,15 @@ #include "Typesystem.hpp" namespace ousia { + +// Forward declarations +class RttiType; +template<class T> +class Rtti; + namespace model { +// Forward declarations class Descriptor; class StructuredClass; class Domain; diff --git a/src/core/model/Node.cpp b/src/core/model/Node.cpp index 284f323..bac420b 100644 --- a/src/core/model/Node.cpp +++ b/src/core/model/Node.cpp @@ -20,6 +20,7 @@ #include <unordered_set> #include <core/common/Exceptions.hpp> +#include <core/common/Rtti.hpp> #include "Node.hpp" diff --git a/src/core/model/Node.hpp b/src/core/model/Node.hpp index 54a1497..c24aacb 100644 --- a/src/core/model/Node.hpp +++ b/src/core/model/Node.hpp @@ -32,7 +32,6 @@ #include <string> #include <vector> -#include <core/common/Rtti.hpp> #include <core/managed/Managed.hpp> #include <core/managed/ManagedContainer.hpp> @@ -40,6 +39,11 @@ namespace ousia { +// Forward declarations +class RttiType; +template<class T> +class Rtti; + /** * Structure describing a single result obtained from the resolution function. */ diff --git a/src/core/model/Typesystem.hpp b/src/core/model/Typesystem.hpp index c0e0fb1..22b747f 100644 --- a/src/core/model/Typesystem.hpp +++ b/src/core/model/Typesystem.hpp @@ -34,14 +34,20 @@ #include <core/common/Exceptions.hpp> #include <core/common/Logger.hpp> -#include <core/common/Rtti.hpp> #include <core/common/Variant.hpp> #include "Node.hpp" namespace ousia { + +// Forward declarations +class RttiType; +template<class T> +class Rtti; + namespace model { +// Forward declarations class Typesystem; /** |