diff options
author | Sebastien Braun | 2010-10-10 01:44:13 +0200 |
---|---|---|
committer | Sebastien Braun | 2010-10-10 14:05:33 +0200 |
commit | 66f6a2f189a707e285a1cf24ef57c0587e3ecd51 (patch) | |
tree | 7d92a8c36a03589a288f4de55c33833d53310416 | |
parent | Rework template meta-magic (diff) | |
download | pvs-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.autogen | 5 | ||||
-rw-r--r-- | src/input/detail/gen/gen_policyChain.cpp | 68 | ||||
-rw-r--r-- | src/input/detail/policyChain_autogen.h | 8 |
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 |