From 0ccad1b1b25051e629a9f468571b51afc8bc4ae3 Mon Sep 17 00:00:00 2001
From: Adam Wardynski <award@.(win7-laptop)>
Date: Mon, 18 Apr 2011 14:13:10 +0200
Subject: [PATCH] Decouple variables.h a bit from concrete Value headers - with
 forward declarations.

---
 libwccl/ops/functions/bool/predicates/pointagreement.h  | 1 +
 libwccl/ops/functions/bool/predicates/strongagreement.h | 1 +
 libwccl/ops/functions/bool/predicates/weakagreement.h   | 1 +
 libwccl/ops/tagactions/relabel.h                        | 1 +
 libwccl/ops/tagactions/unify.h                          | 1 +
 libwccl/variables.cpp                                   | 4 ++++
 libwccl/variables.h                                     | 9 +++++----
 7 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/libwccl/ops/functions/bool/predicates/pointagreement.h b/libwccl/ops/functions/bool/predicates/pointagreement.h
index cefa1f7..98b18f1 100644
--- a/libwccl/ops/functions/bool/predicates/pointagreement.h
+++ b/libwccl/ops/functions/bool/predicates/pointagreement.h
@@ -3,6 +3,7 @@
 
 #include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/values/position.h>
+#include <libwccl/values/tset.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicates/strongagreement.h b/libwccl/ops/functions/bool/predicates/strongagreement.h
index 83c9dd6..3e215a5 100644
--- a/libwccl/ops/functions/bool/predicates/strongagreement.h
+++ b/libwccl/ops/functions/bool/predicates/strongagreement.h
@@ -3,6 +3,7 @@
 
 #include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/values/position.h>
+#include <libwccl/values/tset.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/functions/bool/predicates/weakagreement.h b/libwccl/ops/functions/bool/predicates/weakagreement.h
index e4a47ab..e8135ef 100644
--- a/libwccl/ops/functions/bool/predicates/weakagreement.h
+++ b/libwccl/ops/functions/bool/predicates/weakagreement.h
@@ -3,6 +3,7 @@
 
 #include <libwccl/ops/functions/bool/predicate.h>
 #include <libwccl/values/position.h>
+#include <libwccl/values/tset.h>
 
 namespace Wccl {
 
diff --git a/libwccl/ops/tagactions/relabel.h b/libwccl/ops/tagactions/relabel.h
index 418c28b..f1b10ed 100644
--- a/libwccl/ops/tagactions/relabel.h
+++ b/libwccl/ops/tagactions/relabel.h
@@ -4,6 +4,7 @@
 #include <libwccl/ops/tagaction.h>
 #include <libwccl/values/position.h>
 #include <libwccl/values/bool.h>
+#include <libwccl/values/tset.h>
 #include <libwccl/ops/function.h>
 
 namespace Wccl {
diff --git a/libwccl/ops/tagactions/unify.h b/libwccl/ops/tagactions/unify.h
index 33fe56a..17eb81b 100644
--- a/libwccl/ops/tagactions/unify.h
+++ b/libwccl/ops/tagactions/unify.h
@@ -4,6 +4,7 @@
 #include <libwccl/ops/tagaction.h>
 #include <libwccl/values/position.h>
 #include <libwccl/values/bool.h>
+#include <libwccl/values/tset.h>
 #include <libwccl/ops/function.h>
 
 namespace Wccl {
diff --git a/libwccl/variables.cpp b/libwccl/variables.cpp
index 6f51e06..f7484fc 100644
--- a/libwccl/variables.cpp
+++ b/libwccl/variables.cpp
@@ -1,6 +1,10 @@
 #include <libwccl/variables.h>
 #include <boost/mpl/always.hpp>
 #include <boost/mpl/pop_front.hpp>
+#include <libwccl/values/match.h>
+#include <libwccl/values/position.h>
+#include <libwccl/values/strset.h>
+#include <libwccl/values/tset.h>
 
 namespace Wccl {
 
diff --git a/libwccl/variables.h b/libwccl/variables.h
index d836bab..daf4353 100644
--- a/libwccl/variables.h
+++ b/libwccl/variables.h
@@ -3,10 +3,6 @@
 
 #include <libwccl/exception.h>
 #include <libwccl/values/bool.h>
-#include <libwccl/values/match.h>
-#include <libwccl/values/position.h>
-#include <libwccl/values/strset.h>
-#include <libwccl/values/tset.h>
 #include <iostream>
 #include <map>
 #include <string>
@@ -23,6 +19,11 @@
 
 namespace Wccl {
 
+class Match;
+class Position;
+class StrSet;
+class TSet;
+
 namespace detail {
 
 /**
-- 
GitLab