summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Braun2010-10-10 01:44:13 +0200
committerSebastien Braun2010-10-10 14:05:33 +0200
commit66f6a2f189a707e285a1cf24ef57c0587e3ecd51 (patch)
tree7d92a8c36a03589a288f4de55c33833d53310416
parentRework template meta-magic (diff)
downloadpvs-66f6a2f189a707e285a1cf24ef57c0587e3ecd51.tar.gz
pvs-66f6a2f189a707e285a1cf24ef57c0587e3ecd51.tar.xz
pvs-66f6a2f189a707e285a1cf24ef57c0587e3ecd51.zip
It is not necessary to auto-generate policyChain_autogen.h anymore
All it did is handled by implicit TypeList parameters.
-rw-r--r--src/input/detail/Makefile.autogen5
-rw-r--r--src/input/detail/gen/gen_policyChain.cpp68
-rw-r--r--src/input/detail/policyChain_autogen.h8
3 files changed, 1 insertions, 80 deletions
diff --git a/src/input/detail/Makefile.autogen b/src/input/detail/Makefile.autogen
index 6d0bfb3..cbd52be 100644
--- a/src/input/detail/Makefile.autogen
+++ b/src/input/detail/Makefile.autogen
@@ -1,8 +1,5 @@
-all : policyChain_autogen.h typeList_autogen.h
+all : typeList_autogen.h
.PHONY : all
-policyChain_autogen.h : gen/gen_policyChain
- gen/gen_policyChain > policyChain_autogen.h
-
typeList_autogen.h : gen/gen_typeList
gen/gen_typeList > typeList_autogen.h
diff --git a/src/input/detail/gen/gen_policyChain.cpp b/src/input/detail/gen/gen_policyChain.cpp
deleted file mode 100644
index 3e375ec..0000000
--- a/src/input/detail/gen/gen_policyChain.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- # Copyright (c) 2009 - OpenSLX Project, Computer Center University of Freiburg
- #
- # This program is free software distributed under the GPL version 2.
- # See http://openslx.org/COPYING
- #
- # If you have any feedback please consult http://openslx.org/feedback and
- # send your suggestions, praise, or complaints to feedback@openslx.org
- #
- # General information about OpenSLX can be found at http://openslx.org/
- # --------------------------------------------------------------------------
- # detail/gen/gen_policyChain.cpp:
- # - generate the input_policy::detail::PolicyChain class
- # --------------------------------------------------------------------------
- */
-
-#include <iostream>
-
-using namespace std;
-
-#define NUM_POLICIES 8
-
-int main(int, char**)
-{
- int i;
-
- cout << "template<typename BaseCase";
- for(i = 0; i < NUM_POLICIES; i++)
- {
- cout << ", typename P" << i;
- }
- cout << ">\nstruct PolicyChain :\npublic P0::template apply_<PolicyChain<BaseCase";
- for(i = 1; i < NUM_POLICIES; i++)
- {
- cout << ", P" << i;
- }
- cout << ", void> >\n";
- cout << "{};\n";
-
- // Base case:
- cout << "template<typename BaseCase>\n";
- cout << "struct PolicyChain<BaseCase";
- for(i = 0; i < NUM_POLICIES; i++)
- {
- cout << ", void";
- }
- cout << "> : public BaseCase {};\n";
-
- // We need the following in macros:
- cout << "#define _autogen_POLICY_TEMPLATE_PARAMS ";
- for(i = 0; i < NUM_POLICIES; i++)
- {
- if(i)
- cout << ", ";
- cout << "typename P" << i;
- }
-
- cout << "\n#define _autogen_POLICY_TEMPLATE_ARGS ";
- for(i = 0; i < NUM_POLICIES; i++)
- {
- if(i)
- cout << ", ";
- cout << "P" << i;
- }
- cout << "\n";
-
- return 0;
-}
diff --git a/src/input/detail/policyChain_autogen.h b/src/input/detail/policyChain_autogen.h
deleted file mode 100644
index d9503b8..0000000
--- a/src/input/detail/policyChain_autogen.h
+++ /dev/null
@@ -1,8 +0,0 @@
-template<typename BaseCase, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
-struct PolicyChain :
-public P0::template apply_<PolicyChain<BaseCase, P1, P2, P3, P4, P5, P6, P7, void> >
-{};
-template<typename BaseCase>
-struct PolicyChain<BaseCase, void, void, void, void, void, void, void, void> : public BaseCase {};
-#define _autogen_POLICY_TEMPLATE_PARAMS typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7
-#define _autogen_POLICY_TEMPLATE_ARGS P0, P1, P2, P3, P4, P5, P6, P7