diff --git a/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp b/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp index 71e8427..10433bf 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_COMMAalignas , #define alignasBOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTYalignas #define alignasBOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `alignas` (this can be // checked with `..._IS_ALIGNAS_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `alignas` (this can be // checked with `..._IS_ALIGNAS_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp b/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp index a6a92e8..0ef6f71 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_COMMAalignof , #define alignofBOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTYalignof #define alignofBOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `alignof` (this can be // checked with `..._IS_ALIGNOF_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `alignof` (this can be // checked with `..._IS_ALIGNOF_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/and.hpp b/include/boost/contract/ext_/preprocessor/keyword/and.hpp index 330baa3..2f78d84 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/and.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/and.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_COMMAand , #define andBOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTYand #define andBOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `and` (this can be // checked with `..._IS_AND_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `and` (this can be // checked with `..._IS_AND_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AND_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp index 88c4579..5cdd150 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_COMMAand_eq , #define and_eqBOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTYand_eq #define and_eqBOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `and_eq` (this can be // checked with `..._IS_AND_EQ_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `and_eq` (this can be // checked with `..._IS_AND_EQ_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/asm.hpp b/include/boost/contract/ext_/preprocessor/keyword/asm.hpp index ef3a17a..39b3eef 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/asm.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/asm.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_COMMAasm , #define asmBOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTYasm #define asmBOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `asm` (this can be // checked with `..._IS_ASM_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `asm` (this can be // checked with `..._IS_ASM_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/auto.hpp b/include/boost/contract/ext_/preprocessor/keyword/auto.hpp index 525bf1e..ab02c98 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/auto.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/auto.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_COMMAauto , #define autoBOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTYauto #define autoBOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `auto` (this can be // checked with `..._IS_AUTO_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `auto` (this can be // checked with `..._IS_AUTO_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp b/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp index 03d4775..8019cca 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_COMMAbitand , #define bitandBOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTYbitand #define bitandBOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `bitand` (this can be // checked with `..._IS_BITAND_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `bitand` (this can be // checked with `..._IS_BITAND_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp b/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp index 5db8779..c37a81f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_COMMAbitor , #define bitorBOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTYbitor #define bitorBOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `bitor` (this can be // checked with `..._IS_BITOR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `bitor` (this can be // checked with `..._IS_BITOR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/bool.hpp b/include/boost/contract/ext_/preprocessor/keyword/bool.hpp index 90feb01..53ee1a5 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bool.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bool.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_COMMAbool , #define boolBOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTYbool #define boolBOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `bool` (this can be // checked with `..._IS_BOOL_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `bool` (this can be // checked with `..._IS_BOOL_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/break.hpp b/include/boost/contract/ext_/preprocessor/keyword/break.hpp index ce79c7f..b8e629c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/break.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/break.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_COMMAbreak , #define breakBOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTYbreak #define breakBOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `break` (this can be // checked with `..._IS_BREAK_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `break` (this can be // checked with `..._IS_BREAK_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/case.hpp b/include/boost/contract/ext_/preprocessor/keyword/case.hpp index 8af503e..32ec28c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/case.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/case.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_COMMAcase , #define caseBOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTYcase #define caseBOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `case` (this can be // checked with `..._IS_CASE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `case` (this can be // checked with `..._IS_CASE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/catch.hpp b/include/boost/contract/ext_/preprocessor/keyword/catch.hpp index c094eaf..653e55b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/catch.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/catch.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_COMMAcatch , #define catchBOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTYcatch #define catchBOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `catch` (this can be // checked with `..._IS_CATCH_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `catch` (this can be // checked with `..._IS_CATCH_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/char.hpp b/include/boost/contract/ext_/preprocessor/keyword/char.hpp index c64b6ca..b0ca984 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_COMMAchar , #define charBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTYchar #define charBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `char` (this can be // checked with `..._IS_CHAR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `char` (this can be // checked with `..._IS_CHAR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp index 865d442..f479bb5 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_COMMAchar16_t , #define char16_tBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTYchar16_t #define char16_tBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `char16_t` (this can be // checked with `..._IS_CHAR16_T_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `char16_t` (this can be // checked with `..._IS_CHAR16_T_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp index 25588c9..1548b25 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_COMMAchar32_t , #define char32_tBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTYchar32_t #define char32_tBOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `char32_t` (this can be // checked with `..._IS_CHAR32_T_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `char32_t` (this can be // checked with `..._IS_CHAR32_T_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/class.hpp b/include/boost/contract/ext_/preprocessor/keyword/class.hpp index 2311eeb..538ec7b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/class.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/class.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_COMMAclass , #define classBOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTYclass #define classBOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `class` (this can be // checked with `..._IS_CLASS_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `class` (this can be // checked with `..._IS_CLASS_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/compl.hpp b/include/boost/contract/ext_/preprocessor/keyword/compl.hpp index 1da6756..a6477cd 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/compl.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/compl.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_COMMAcompl , #define complBOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTYcompl #define complBOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `compl` (this can be // checked with `..._IS_COMPL_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `compl` (this can be // checked with `..._IS_COMPL_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/const.hpp b/include/boost/contract/ext_/preprocessor/keyword/const.hpp index 4132198..15f79a3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/const.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/const.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_COMMAconst , #define constBOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTYconst #define constBOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `const` (this can be // checked with `..._IS_CONST_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `const` (this can be // checked with `..._IS_CONST_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp index 286b0b0..48f4fd0 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_COMMAconst_cast , #define const_castBOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTYconst_cast #define const_castBOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `const_cast` (this can be // checked with `..._IS_CONST_CAST_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `const_cast` (this can be // checked with `..._IS_CONST_CAST_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp b/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp index f345473..c3fdf1e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_COMMAconstexpr , #define constexprBOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTYconstexpr #define constexprBOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `constexpr` (this can be // checked with `..._IS_CONSTEXPR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `constexpr` (this can be // checked with `..._IS_CONSTEXPR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/continue.hpp b/include/boost/contract/ext_/preprocessor/keyword/continue.hpp index 0391c8c..c915b40 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/continue.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/continue.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_COMMAcontinue , #define continueBOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTYcontinue #define continueBOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `continue` (this can be // checked with `..._IS_CONTINUE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `continue` (this can be // checked with `..._IS_CONTINUE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp index de8fdc0..908c2a5 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_COMMAextends , #define extendsBOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTYextends #define extendsBOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `extends` (this can be // checked with `..._IS_EXTENDS_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `extends` (this can be // checked with `..._IS_EXTENDS_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/invariant.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/invariant.hpp index 06e6ab6..a0560c9 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/invariant.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/invariant.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_COMMAinvariant , #define invariantBOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTYinvariant #define invariantBOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `invariant` (this can be // checked with `..._IS_INVARIANT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `invariant` (this can be // checked with `..._IS_INVARIANT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INVARIANT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp index 1d529ce..689df52 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_COMMApostcondition , #define postconditionBOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTYpostcondition #define postconditionBOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `postcondition` (this can be // checked with `..._IS_POSTCONDITION_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `postcondition` (this can be // checked with `..._IS_POSTCONDITION_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp index c8d8060..0f499dd 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_COMMAprecondition , #define preconditionBOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTYprecondition #define preconditionBOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `precondition` (this can be // checked with `..._IS_PRECONDITION_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `precondition` (this can be // checked with `..._IS_PRECONDITION_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp index 7fd3e45..34105d5 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_COMMAverbatim , #define verbatimBOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTYverbatim #define verbatimBOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `verbatim` (this can be // checked with `..._IS_VERBATIM_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `verbatim` (this can be // checked with `..._IS_VERBATIM_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp b/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp index 9b1867e..08af30b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_COMMAdecltype , #define decltypeBOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTYdecltype #define decltypeBOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `decltype` (this can be // checked with `..._IS_DECLTYPE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `decltype` (this can be // checked with `..._IS_DECLTYPE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/default.hpp b/include/boost/contract/ext_/preprocessor/keyword/default.hpp index 4f6af30..460e4ec 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/default.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/default.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_COMMAdefault , #define defaultBOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTYdefault #define defaultBOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `default` (this can be // checked with `..._IS_DEFAULT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `default` (this can be // checked with `..._IS_DEFAULT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/delete.hpp b/include/boost/contract/ext_/preprocessor/keyword/delete.hpp index 644362d..55ad230 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/delete.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/delete.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_COMMAdelete , #define deleteBOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTYdelete #define deleteBOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `delete` (this can be // checked with `..._IS_DELETE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `delete` (this can be // checked with `..._IS_DELETE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/do.hpp b/include/boost/contract/ext_/preprocessor/keyword/do.hpp index ad45d9d..1d02fec 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/do.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/do.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_COMMAdo , #define doBOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTYdo #define doBOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `do` (this can be // checked with `..._IS_DO_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DO_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `do` (this can be // checked with `..._IS_DO_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DO_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DO_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/double.hpp b/include/boost/contract/ext_/preprocessor/keyword/double.hpp index 26bc95c..3a14807 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/double.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/double.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_COMMAdouble , #define doubleBOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTYdouble #define doubleBOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `double` (this can be // checked with `..._IS_DOUBLE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `double` (this can be // checked with `..._IS_DOUBLE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp index 1167c85..0c13a09 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_COMMAdynamic_cast , #define dynamic_castBOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTYdynamic_cast #define dynamic_castBOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `dynamic_cast` (this can be // checked with `..._IS_DYNAMIC_CAST_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `dynamic_cast` (this can be // checked with `..._IS_DYNAMIC_CAST_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/else.hpp b/include/boost/contract/ext_/preprocessor/keyword/else.hpp index b1bcaf8..1f3dea6 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/else.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/else.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_COMMAelse , #define elseBOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTYelse #define elseBOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `else` (this can be // checked with `..._IS_ELSE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `else` (this can be // checked with `..._IS_ELSE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/enum.hpp b/include/boost/contract/ext_/preprocessor/keyword/enum.hpp index bed2840..6e57a00 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/enum.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/enum.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_COMMAenum , #define enumBOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTYenum #define enumBOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `enum` (this can be // checked with `..._IS_ENUM_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `enum` (this can be // checked with `..._IS_ENUM_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp b/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp index bf99a15..f0068cc 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_COMMAexplicit , #define explicitBOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTYexplicit #define explicitBOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `explicit` (this can be // checked with `..._IS_EXPLICIT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `explicit` (this can be // checked with `..._IS_EXPLICIT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/export.hpp b/include/boost/contract/ext_/preprocessor/keyword/export.hpp index 349de10..59a9c53 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/export.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/export.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_COMMAexport , #define exportBOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTYexport #define exportBOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `export` (this can be // checked with `..._IS_EXPORT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `export` (this can be // checked with `..._IS_EXPORT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/extern.hpp b/include/boost/contract/ext_/preprocessor/keyword/extern.hpp index d3813f7..b44c664 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/extern.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/extern.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_COMMAextern , #define externBOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTYextern #define externBOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `extern` (this can be // checked with `..._IS_EXTERN_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `extern` (this can be // checked with `..._IS_EXTERN_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/false.hpp b/include/boost/contract/ext_/preprocessor/keyword/false.hpp index bd692ac..567008c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/false.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/false.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_COMMAfalse , #define falseBOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTYfalse #define falseBOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `false` (this can be // checked with `..._IS_FALSE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `false` (this can be // checked with `..._IS_FALSE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/final.hpp b/include/boost/contract/ext_/preprocessor/keyword/final.hpp index d26df9b..425f223 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/final.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/final.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_COMMAfinal , #define finalBOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTYfinal #define finalBOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `final` (this can be // checked with `..._IS_FINAL_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `final` (this can be // checked with `..._IS_FINAL_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/float.hpp b/include/boost/contract/ext_/preprocessor/keyword/float.hpp index 4ef45e7..0af4dd3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/float.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/float.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_COMMAfloat , #define floatBOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTYfloat #define floatBOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `float` (this can be // checked with `..._IS_FLOAT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `float` (this can be // checked with `..._IS_FLOAT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/for.hpp b/include/boost/contract/ext_/preprocessor/keyword/for.hpp index 8cd0eaa..d541083 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/for.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/for.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_COMMAfor , #define forBOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTYfor #define forBOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `for` (this can be // checked with `..._IS_FOR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `for` (this can be // checked with `..._IS_FOR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/friend.hpp b/include/boost/contract/ext_/preprocessor/keyword/friend.hpp index b732cac..8c4bea3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/friend.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/friend.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_COMMAfriend , #define friendBOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTYfriend #define friendBOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `friend` (this can be // checked with `..._IS_FRIEND_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `friend` (this can be // checked with `..._IS_FRIEND_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/generate.py b/include/boost/contract/ext_/preprocessor/keyword/generate.py index c2dbcf6..ff327ab 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/generate.py +++ b/include/boost/contract/ext_/preprocessor/keyword/generate.py @@ -131,13 +131,14 @@ for entry in entries: // Instead, modify and run the related generation script "{0}". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_COMMA{2} , #define {2}BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY{2} #define {2}BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY @@ -159,12 +160,14 @@ for entry in entries: // Precondition: tokens must start with `{2}` (this can be // checked with `..._IS_{1}_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_REMOVE_FRONT(tokens) \\ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \\ + BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `{2}` (this can be // checked with `..._IS_{1}_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_REMOVE_BACK(tokens) \\ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \\ + BOOST_CONTRACT_EXT_PP_KEYWORD_{1}_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/goto.hpp b/include/boost/contract/ext_/preprocessor/keyword/goto.hpp index 55997c6..10e4bd6 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/goto.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/goto.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_COMMAgoto , #define gotoBOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTYgoto #define gotoBOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `goto` (this can be // checked with `..._IS_GOTO_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `goto` (this can be // checked with `..._IS_GOTO_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/if.hpp b/include/boost/contract/ext_/preprocessor/keyword/if.hpp index 6cc939c..6aa505d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/if.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/if.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_COMMAif , #define ifBOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTYif #define ifBOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `if` (this can be // checked with `..._IS_IF_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_IF_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `if` (this can be // checked with `..._IS_IF_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_IF_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IF_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/inline.hpp b/include/boost/contract/ext_/preprocessor/keyword/inline.hpp index 45c2260..2e81586 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/inline.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/inline.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_COMMAinline , #define inlineBOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTYinline #define inlineBOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `inline` (this can be // checked with `..._IS_INLINE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `inline` (this can be // checked with `..._IS_INLINE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/int.hpp b/include/boost/contract/ext_/preprocessor/keyword/int.hpp index 3dffd65..3783f2b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/int.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/int.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_COMMAint , #define intBOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTYint #define intBOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `int` (this can be // checked with `..._IS_INT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `int` (this can be // checked with `..._IS_INT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_INT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_INT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/long.hpp b/include/boost/contract/ext_/preprocessor/keyword/long.hpp index 14b62b6..70e5ac5 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/long.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/long.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_COMMAlong , #define longBOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTYlong #define longBOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `long` (this can be // checked with `..._IS_LONG_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `long` (this can be // checked with `..._IS_LONG_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp b/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp index 6239af9..b28bad6 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_COMMAmutable , #define mutableBOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTYmutable #define mutableBOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `mutable` (this can be // checked with `..._IS_MUTABLE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `mutable` (this can be // checked with `..._IS_MUTABLE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp b/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp index ac2778b..4d06a5d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_COMMAnamespace , #define namespaceBOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTYnamespace #define namespaceBOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `namespace` (this can be // checked with `..._IS_NAMESPACE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `namespace` (this can be // checked with `..._IS_NAMESPACE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/new.hpp b/include/boost/contract/ext_/preprocessor/keyword/new.hpp index 81c739e..6b418cc 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/new.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/new.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_COMMAnew , #define newBOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTYnew #define newBOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `new` (this can be // checked with `..._IS_NEW_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `new` (this can be // checked with `..._IS_NEW_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp b/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp index c0852ca..f551382 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_COMMAnoexcept , #define noexceptBOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTYnoexcept #define noexceptBOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `noexcept` (this can be // checked with `..._IS_NOEXCEPT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `noexcept` (this can be // checked with `..._IS_NOEXCEPT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/not.hpp b/include/boost/contract/ext_/preprocessor/keyword/not.hpp index 66ed4b5..c363678 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/not.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/not.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_COMMAnot , #define notBOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTYnot #define notBOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `not` (this can be // checked with `..._IS_NOT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `not` (this can be // checked with `..._IS_NOT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp index 615aa3d..ec1eba2 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_COMMAnot_eq , #define not_eqBOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTYnot_eq #define not_eqBOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `not_eq` (this can be // checked with `..._IS_NOT_EQ_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `not_eq` (this can be // checked with `..._IS_NOT_EQ_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp b/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp index c618880..87bacc3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_COMMAnullptr , #define nullptrBOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTYnullptr #define nullptrBOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `nullptr` (this can be // checked with `..._IS_NULLPTR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `nullptr` (this can be // checked with `..._IS_NULLPTR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/operator.hpp b/include/boost/contract/ext_/preprocessor/keyword/operator.hpp index 9655e54..da4eb43 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/operator.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/operator.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_COMMAoperator , #define operatorBOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTYoperator #define operatorBOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `operator` (this can be // checked with `..._IS_OPERATOR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `operator` (this can be // checked with `..._IS_OPERATOR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/or.hpp b/include/boost/contract/ext_/preprocessor/keyword/or.hpp index 9ddafb3..031dddc 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/or.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/or.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_COMMAor , #define orBOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTYor #define orBOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `or` (this can be // checked with `..._IS_OR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `or` (this can be // checked with `..._IS_OR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp index 9ba5153..25cb6ae 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_COMMAor_eq , #define or_eqBOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTYor_eq #define or_eqBOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `or_eq` (this can be // checked with `..._IS_OR_EQ_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `or_eq` (this can be // checked with `..._IS_OR_EQ_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/override.hpp b/include/boost/contract/ext_/preprocessor/keyword/override.hpp index 0f611e4..dc6949e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/override.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/override.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_COMMAoverride , #define overrideBOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTYoverride #define overrideBOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `override` (this can be // checked with `..._IS_OVERRIDE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `override` (this can be // checked with `..._IS_OVERRIDE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/private.hpp b/include/boost/contract/ext_/preprocessor/keyword/private.hpp index eb1454f..a352e9e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/private.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/private.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_COMMAprivate , #define privateBOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTYprivate #define privateBOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `private` (this can be // checked with `..._IS_PRIVATE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `private` (this can be // checked with `..._IS_PRIVATE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/protected.hpp b/include/boost/contract/ext_/preprocessor/keyword/protected.hpp index d260893..e6416a0 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/protected.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/protected.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_COMMAprotected , #define protectedBOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTYprotected #define protectedBOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `protected` (this can be // checked with `..._IS_PROTECTED_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `protected` (this can be // checked with `..._IS_PROTECTED_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/public.hpp b/include/boost/contract/ext_/preprocessor/keyword/public.hpp index e53ae94..bb02d4f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/public.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/public.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_COMMApublic , #define publicBOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTYpublic #define publicBOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `public` (this can be // checked with `..._IS_PUBLIC_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `public` (this can be // checked with `..._IS_PUBLIC_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/register.hpp b/include/boost/contract/ext_/preprocessor/keyword/register.hpp index 9e9d75f..2ae5d87 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/register.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/register.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_COMMAregister , #define registerBOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTYregister #define registerBOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `register` (this can be // checked with `..._IS_REGISTER_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `register` (this can be // checked with `..._IS_REGISTER_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp index feea252..9b2ca6a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_COMMAreinterpret_cast , #define reinterpret_castBOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTYreinterpret_cast #define reinterpret_castBOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `reinterpret_cast` (this can be // checked with `..._IS_REINTERPRET_CAST_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `reinterpret_cast` (this can be // checked with `..._IS_REINTERPRET_CAST_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/return.hpp b/include/boost/contract/ext_/preprocessor/keyword/return.hpp index c0ae05a..bc3f716 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/return.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/return.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_COMMAreturn , #define returnBOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTYreturn #define returnBOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `return` (this can be // checked with `..._IS_RETURN_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `return` (this can be // checked with `..._IS_RETURN_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/short.hpp b/include/boost/contract/ext_/preprocessor/keyword/short.hpp index 1da9974..e8716d1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/short.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/short.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_COMMAshort , #define shortBOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTYshort #define shortBOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `short` (this can be // checked with `..._IS_SHORT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `short` (this can be // checked with `..._IS_SHORT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/signed.hpp b/include/boost/contract/ext_/preprocessor/keyword/signed.hpp index 8bc2e3d..8d9c359 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/signed.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/signed.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_COMMAsigned , #define signedBOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTYsigned #define signedBOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `signed` (this can be // checked with `..._IS_SIGNED_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `signed` (this can be // checked with `..._IS_SIGNED_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp b/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp index 131f73c..5f1f3a1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_COMMAsizeof , #define sizeofBOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTYsizeof #define sizeofBOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `sizeof` (this can be // checked with `..._IS_SIZEOF_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `sizeof` (this can be // checked with `..._IS_SIZEOF_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/static.hpp b/include/boost/contract/ext_/preprocessor/keyword/static.hpp index 6c2c582..767d656 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_COMMAstatic , #define staticBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTYstatic #define staticBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `static` (this can be // checked with `..._IS_STATIC_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `static` (this can be // checked with `..._IS_STATIC_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp b/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp index 92dd334..167cd9c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_COMMAstatic_assert , #define static_assertBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTYstatic_assert #define static_assertBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `static_assert` (this can be // checked with `..._IS_STATIC_ASSERT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `static_assert` (this can be // checked with `..._IS_STATIC_ASSERT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp index e698623..97c3164 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_COMMAstatic_cast , #define static_castBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTYstatic_cast #define static_castBOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `static_cast` (this can be // checked with `..._IS_STATIC_CAST_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `static_cast` (this can be // checked with `..._IS_STATIC_CAST_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/struct.hpp b/include/boost/contract/ext_/preprocessor/keyword/struct.hpp index f759ad8..8e1c429 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/struct.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/struct.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_COMMAstruct , #define structBOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTYstruct #define structBOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `struct` (this can be // checked with `..._IS_STRUCT_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `struct` (this can be // checked with `..._IS_STRUCT_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/switch.hpp b/include/boost/contract/ext_/preprocessor/keyword/switch.hpp index 4a93ec2..fd6aa68 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/switch.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/switch.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_COMMAswitch , #define switchBOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTYswitch #define switchBOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `switch` (this can be // checked with `..._IS_SWITCH_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `switch` (this can be // checked with `..._IS_SWITCH_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/template.hpp b/include/boost/contract/ext_/preprocessor/keyword/template.hpp index 06cc71a..b8193ff 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/template.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/template.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_COMMAtemplate , #define templateBOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTYtemplate #define templateBOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `template` (this can be // checked with `..._IS_TEMPLATE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `template` (this can be // checked with `..._IS_TEMPLATE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/this.hpp b/include/boost/contract/ext_/preprocessor/keyword/this.hpp index 89eb3f9..a7b0691 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/this.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/this.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_COMMAthis , #define thisBOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTYthis #define thisBOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `this` (this can be // checked with `..._IS_THIS_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `this` (this can be // checked with `..._IS_THIS_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp b/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp index ca2f404..f33a6cc 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_COMMAthread_local , #define thread_localBOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTYthread_local #define thread_localBOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `thread_local` (this can be // checked with `..._IS_THREAD_LOCAL_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `thread_local` (this can be // checked with `..._IS_THREAD_LOCAL_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/throw.hpp b/include/boost/contract/ext_/preprocessor/keyword/throw.hpp index a97f6ba..0a59c0f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/throw.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/throw.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_COMMAthrow , #define throwBOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTYthrow #define throwBOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `throw` (this can be // checked with `..._IS_THROW_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `throw` (this can be // checked with `..._IS_THROW_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/true.hpp b/include/boost/contract/ext_/preprocessor/keyword/true.hpp index f3a3214..9fca628 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/true.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/true.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_COMMAtrue , #define trueBOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTYtrue #define trueBOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `true` (this can be // checked with `..._IS_TRUE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `true` (this can be // checked with `..._IS_TRUE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/try.hpp b/include/boost/contract/ext_/preprocessor/keyword/try.hpp index 7c55cf6..422b2d3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/try.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/try.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_COMMAtry , #define tryBOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTYtry #define tryBOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `try` (this can be // checked with `..._IS_TRY_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `try` (this can be // checked with `..._IS_TRY_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp b/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp index 13f1d09..90fc21e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_COMMAtypedef , #define typedefBOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTYtypedef #define typedefBOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `typedef` (this can be // checked with `..._IS_TYPEDEF_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `typedef` (this can be // checked with `..._IS_TYPEDEF_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp b/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp index 531f822..c06423b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_COMMAtypeid , #define typeidBOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTYtypeid #define typeidBOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `typeid` (this can be // checked with `..._IS_TYPEID_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `typeid` (this can be // checked with `..._IS_TYPEID_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/typename.hpp b/include/boost/contract/ext_/preprocessor/keyword/typename.hpp index 9444420..81dd637 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typename.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typename.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_COMMAtypename , #define typenameBOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTYtypename #define typenameBOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `typename` (this can be // checked with `..._IS_TYPENAME_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `typename` (this can be // checked with `..._IS_TYPENAME_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/union.hpp b/include/boost/contract/ext_/preprocessor/keyword/union.hpp index c7f11ac..94ce33f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/union.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/union.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_COMMAunion , #define unionBOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTYunion #define unionBOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `union` (this can be // checked with `..._IS_UNION_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `union` (this can be // checked with `..._IS_UNION_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp b/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp index c2838b8..eb74ea4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_COMMAunsigned , #define unsignedBOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTYunsigned #define unsignedBOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `unsigned` (this can be // checked with `..._IS_UNSIGNED_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `unsigned` (this can be // checked with `..._IS_UNSIGNED_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/using.hpp b/include/boost/contract/ext_/preprocessor/keyword/using.hpp index bbda780..36aca5e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/using.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/using.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_COMMAusing , #define usingBOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTYusing #define usingBOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `using` (this can be // checked with `..._IS_USING_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_USING_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `using` (this can be // checked with `..._IS_USING_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_USING_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_USING_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/utility/remove.hpp b/include/boost/contract/ext_/preprocessor/keyword/utility/remove.hpp new file mode 100644 index 0000000..a504c04 --- /dev/null +++ b/include/boost/contract/ext_/preprocessor/keyword/utility/remove.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_CONTRACT_EXT_PP_KEYWROD_REMOVE_HPP_ +#define BOOST_CONTRACT_EXT_PP_KEYWROD_REMOVE_HPP_ + +#include + +/* PRIVATE */ + +// NOTE: All these levels of indirection (instead of doing the PP_CAT directly) +// are necessary to ensure proper macro expansion on MSVC which would otherwise +// get confused sometimes. + +#define BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_EXPAND1_(x) x + +#define BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_CAT_(a, b) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_EXPAND1_(BOOST_PP_CAT(a, b)) + +/* PUBLIC */ + +// Precondition: A macro named `cat_to_empty_prefix ## token-to-remove` must be +// #defined to expand to empty ``. +// Precondition: tokens must start with the token to be removed (this can be +// checked with `..._IS_..._FRONT` macros). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + cat_to_empty_prefix, tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_CAT_( \ + cat_to_empty_prefix, tokens) + +// Precondition: A macro named `token-to-remove ## cat_to_empty_postfix` must be +// #defined to expand to empty ``. +// Precondition: tokens must end with the token to be removed (this can be +// checked with `..._IS_..._BACK` macros). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + cat_to_empty_postfix, tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_CAT_( \ + tokens, cat_to_empty_postfix) + +#endif // #include guard + diff --git a/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp b/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp index d63989e..55bcb01 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_COMMAvirtual , #define virtualBOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTYvirtual #define virtualBOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `virtual` (this can be // checked with `..._IS_VIRTUAL_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `virtual` (this can be // checked with `..._IS_VIRTUAL_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/void.hpp b/include/boost/contract/ext_/preprocessor/keyword/void.hpp index e804e56..36b143e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/void.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/void.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_COMMAvoid , #define voidBOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTYvoid #define voidBOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `void` (this can be // checked with `..._IS_VOID_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `void` (this can be // checked with `..._IS_VOID_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp b/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp index bd62b35..7a57e4a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_COMMAvolatile , #define volatileBOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTYvolatile #define volatileBOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `volatile` (this can be // checked with `..._IS_VOLATILE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `volatile` (this can be // checked with `..._IS_VOLATILE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp index 6a84ea0..83eb77b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_COMMAwchar_t , #define wchar_tBOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTYwchar_t #define wchar_tBOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `wchar_t` (this can be // checked with `..._IS_WCHAR_T_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `wchar_t` (this can be // checked with `..._IS_WCHAR_T_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/while.hpp b/include/boost/contract/ext_/preprocessor/keyword/while.hpp index ba8a361..18673bb 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/while.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/while.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_COMMAwhile , #define whileBOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTYwhile #define whileBOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `while` (this can be // checked with `..._IS_WHILE_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `while` (this can be // checked with `..._IS_WHILE_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/xor.hpp b/include/boost/contract/ext_/preprocessor/keyword/xor.hpp index 1330e54..3740ebe 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/xor.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/xor.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_COMMAxor , #define xorBOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTYxor #define xorBOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `xor` (this can be // checked with `..._IS_XOR_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `xor` (this can be // checked with `..._IS_XOR_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_CAT_TO_EMPTY, tokens) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp index 74a64b9..d6eaab2 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp @@ -6,13 +6,14 @@ // Instead, modify and run the related generation script "generate.py". #include -#include +#include /* PRIVATE */ // Must expand to a single comma `,` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_COMMAxor_eq , #define xor_eqBOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_COMMA , + // Must expand to empty `` (not local macros, do not #undefine). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTYxor_eq #define xor_eqBOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTY @@ -34,12 +35,14 @@ // Precondition: tokens must start with `xor_eq` (this can be // checked with `..._IS_XOR_EQ_FRONT` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_REMOVE_FRONT(tokens) \ - BOOST_PP_CAT(BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTY, tokens) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTY, tokens) // Precondition: tokens must end with `xor_eq` (this can be // checked with `..._IS_XOR_EQ_BACK` macro above). #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_REMOVE_BACK(tokens) \ - BOOST_PP_CAT(tokens, BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTY) + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_CAT_TO_EMPTY, tokens) #endif // #include guard