From aaac02844e7b71f32aab2cd51831874d3149dfe2 Mon Sep 17 00:00:00 2001 From: Lorenzo Caminiti Date: Tue, 13 Jan 2015 16:05:02 -0800 Subject: [PATCH] parsing lvalue and rvalue references --- .../ext_/preprocessor/keyword-generate.py | 5 +- .../ext_/preprocessor/keyword/alignas.hpp | 2 +- .../ext_/preprocessor/keyword/alignof.hpp | 2 +- .../ext_/preprocessor/keyword/and.hpp | 2 +- .../ext_/preprocessor/keyword/and_eq.hpp | 2 +- .../ext_/preprocessor/keyword/asm.hpp | 2 +- .../ext_/preprocessor/keyword/auto.hpp | 2 +- .../ext_/preprocessor/keyword/bitand.hpp | 2 +- .../ext_/preprocessor/keyword/bitor.hpp | 2 +- .../ext_/preprocessor/keyword/bool.hpp | 2 +- .../ext_/preprocessor/keyword/break.hpp | 2 +- .../ext_/preprocessor/keyword/case.hpp | 2 +- .../ext_/preprocessor/keyword/catch.hpp | 2 +- .../ext_/preprocessor/keyword/char.hpp | 2 +- .../ext_/preprocessor/keyword/char16_t.hpp | 2 +- .../ext_/preprocessor/keyword/char32_t.hpp | 2 +- .../ext_/preprocessor/keyword/class.hpp | 2 +- .../ext_/preprocessor/keyword/compl.hpp | 2 +- .../ext_/preprocessor/keyword/const.hpp | 2 +- .../ext_/preprocessor/keyword/const_cast.hpp | 2 +- .../ext_/preprocessor/keyword/constexpr.hpp | 2 +- .../ext_/preprocessor/keyword/continue.hpp | 2 +- .../preprocessor/keyword/contract/extends.hpp | 2 +- .../keyword/contract/postcondition.hpp | 2 +- .../keyword/contract/precondition.hpp | 2 +- .../preprocessor/keyword/contract/ref.hpp | 48 +++++++++++++++++++ .../preprocessor/keyword/contract/refref.hpp | 48 +++++++++++++++++++ .../keyword/contract/verbatim.hpp | 2 +- .../ext_/preprocessor/keyword/decltype.hpp | 2 +- .../ext_/preprocessor/keyword/default.hpp | 2 +- .../ext_/preprocessor/keyword/delete.hpp | 2 +- .../contract/ext_/preprocessor/keyword/do.hpp | 2 +- .../ext_/preprocessor/keyword/double.hpp | 2 +- .../preprocessor/keyword/dynamic_cast.hpp | 2 +- .../ext_/preprocessor/keyword/else.hpp | 2 +- .../ext_/preprocessor/keyword/enum.hpp | 2 +- .../ext_/preprocessor/keyword/explicit.hpp | 2 +- .../ext_/preprocessor/keyword/export.hpp | 2 +- .../ext_/preprocessor/keyword/extern.hpp | 2 +- .../ext_/preprocessor/keyword/false.hpp | 2 +- .../ext_/preprocessor/keyword/final.hpp | 2 +- .../ext_/preprocessor/keyword/float.hpp | 2 +- .../ext_/preprocessor/keyword/for.hpp | 2 +- .../ext_/preprocessor/keyword/friend.hpp | 2 +- .../ext_/preprocessor/keyword/goto.hpp | 2 +- .../contract/ext_/preprocessor/keyword/if.hpp | 2 +- .../ext_/preprocessor/keyword/inline.hpp | 2 +- .../ext_/preprocessor/keyword/int.hpp | 2 +- .../ext_/preprocessor/keyword/long.hpp | 2 +- .../ext_/preprocessor/keyword/mutable.hpp | 2 +- .../ext_/preprocessor/keyword/namespace.hpp | 2 +- .../ext_/preprocessor/keyword/new.hpp | 2 +- .../ext_/preprocessor/keyword/noexcept.hpp | 2 +- .../ext_/preprocessor/keyword/not.hpp | 2 +- .../ext_/preprocessor/keyword/not_eq.hpp | 2 +- .../ext_/preprocessor/keyword/nullptr.hpp | 2 +- .../ext_/preprocessor/keyword/operator.hpp | 2 +- .../contract/ext_/preprocessor/keyword/or.hpp | 2 +- .../ext_/preprocessor/keyword/or_eq.hpp | 2 +- .../ext_/preprocessor/keyword/override.hpp | 2 +- .../ext_/preprocessor/keyword/private.hpp | 2 +- .../ext_/preprocessor/keyword/protected.hpp | 2 +- .../ext_/preprocessor/keyword/public.hpp | 2 +- .../ext_/preprocessor/keyword/register.hpp | 2 +- .../preprocessor/keyword/reinterpret_cast.hpp | 2 +- .../ext_/preprocessor/keyword/return.hpp | 2 +- .../ext_/preprocessor/keyword/short.hpp | 2 +- .../ext_/preprocessor/keyword/signed.hpp | 2 +- .../ext_/preprocessor/keyword/sizeof.hpp | 2 +- .../ext_/preprocessor/keyword/static.hpp | 2 +- .../preprocessor/keyword/static_assert.hpp | 2 +- .../ext_/preprocessor/keyword/static_cast.hpp | 2 +- .../ext_/preprocessor/keyword/struct.hpp | 2 +- .../ext_/preprocessor/keyword/switch.hpp | 2 +- .../ext_/preprocessor/keyword/template.hpp | 2 +- .../ext_/preprocessor/keyword/this.hpp | 2 +- .../preprocessor/keyword/thread_local.hpp | 2 +- .../ext_/preprocessor/keyword/throw.hpp | 2 +- .../ext_/preprocessor/keyword/true.hpp | 2 +- .../ext_/preprocessor/keyword/try.hpp | 2 +- .../ext_/preprocessor/keyword/typedef.hpp | 2 +- .../ext_/preprocessor/keyword/typeid.hpp | 2 +- .../ext_/preprocessor/keyword/typename.hpp | 2 +- .../ext_/preprocessor/keyword/union.hpp | 2 +- .../ext_/preprocessor/keyword/unsigned.hpp | 2 +- .../ext_/preprocessor/keyword/using.hpp | 2 +- .../ext_/preprocessor/keyword/virtual.hpp | 2 +- .../ext_/preprocessor/keyword/void.hpp | 2 +- .../ext_/preprocessor/keyword/volatile.hpp | 2 +- .../ext_/preprocessor/keyword/wchar_t.hpp | 2 +- .../ext_/preprocessor/keyword/while.hpp | 2 +- .../ext_/preprocessor/keyword/xor.hpp | 2 +- .../ext_/preprocessor/keyword/xor_eq.hpp | 2 +- .../ext_/preprocessor/traits/aux_/keyword.hpp | 33 ++++++++++++- .../ext_/preprocessor/traits/func.hpp | 14 +++++- .../preprocessor/traits/func/aux_/index.hpp | 4 +- .../ext_/preprocessor/traits/func/ref.hpp | 48 +++++++++++++++++++ test/pp_func_traits/Jamfile.v2 | 1 + test/pp_func_traits/cv_qualifiers.cpp | 2 - test/pp_func_traits/ref.cpp | 36 ++++++++++++++ 100 files changed, 322 insertions(+), 97 deletions(-) create mode 100644 include/boost/contract/ext_/preprocessor/keyword/contract/ref.hpp create mode 100644 include/boost/contract/ext_/preprocessor/keyword/contract/refref.hpp create mode 100644 include/boost/contract/ext_/preprocessor/traits/func/ref.hpp create mode 100644 test/pp_func_traits/ref.cpp diff --git a/include/boost/contract/ext_/preprocessor/keyword-generate.py b/include/boost/contract/ext_/preprocessor/keyword-generate.py index 980aaa9..50ea752 100644 --- a/include/boost/contract/ext_/preprocessor/keyword-generate.py +++ b/include/boost/contract/ext_/preprocessor/keyword-generate.py @@ -103,11 +103,12 @@ entries = [ { 'directory': 'contract', 'keywords': [ - 'invariant', 'precondition', 'postcondition', 'extends', - 'verbatim' + 'verbatim', + 'ref', + 'refref' ] } ] diff --git a/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp b/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp index 10433bf..9204ee7 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/alignas.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNAS_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp b/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp index 0ef6f71..c0b5574 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/alignof.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_ALIGNOF_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/and.hpp b/include/boost/contract/ext_/preprocessor/keyword/and.hpp index 2f78d84..646f719 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/and.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/and.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp index 5cdd150..64f5db1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/and_eq.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_AND_EQ_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/asm.hpp b/include/boost/contract/ext_/preprocessor/keyword/asm.hpp index 39b3eef..0d7b16b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/asm.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/asm.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_ASM_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/auto.hpp b/include/boost/contract/ext_/preprocessor/keyword/auto.hpp index ab02c98..d539c6f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/auto.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/auto.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_AUTO_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp b/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp index 8019cca..acf2956 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bitand.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITAND_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp b/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp index c37a81f..6e24955 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bitor.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_BITOR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/bool.hpp b/include/boost/contract/ext_/preprocessor/keyword/bool.hpp index 53ee1a5..f65076a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/bool.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/bool.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_BOOL_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/break.hpp b/include/boost/contract/ext_/preprocessor/keyword/break.hpp index b8e629c..3fb2559 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/break.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/break.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_BREAK_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/case.hpp b/include/boost/contract/ext_/preprocessor/keyword/case.hpp index 32ec28c..2dbb514 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/case.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/case.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CASE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/catch.hpp b/include/boost/contract/ext_/preprocessor/keyword/catch.hpp index 653e55b..90f84d2 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/catch.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/catch.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CATCH_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/char.hpp b/include/boost/contract/ext_/preprocessor/keyword/char.hpp index b0ca984..cd090ee 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp index f479bb5..8834826 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char16_t.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR16_T_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp index 1548b25..af1633c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/char32_t.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CHAR32_T_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/class.hpp b/include/boost/contract/ext_/preprocessor/keyword/class.hpp index 538ec7b..8447a3e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/class.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/class.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CLASS_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/compl.hpp b/include/boost/contract/ext_/preprocessor/keyword/compl.hpp index a6477cd..7c8dde9 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/compl.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/compl.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_COMPL_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/const.hpp b/include/boost/contract/ext_/preprocessor/keyword/const.hpp index 15f79a3..59052ff 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/const.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/const.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp index 48f4fd0..b526c7e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/const_cast.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONST_CAST_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp b/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp index c3fdf1e..8d4f268 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/constexpr.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONSTEXPR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/continue.hpp b/include/boost/contract/ext_/preprocessor/keyword/continue.hpp index c915b40..afeb68d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/continue.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/continue.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_CONTINUE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp index 908c2a5..cb96a77 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/extends.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTENDS_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp index 689df52..81d891b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp index 0f499dd..8f46748 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/precondition.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRECONDITION_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/ref.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/ref.hpp new file mode 100644 index 0000000..2d9e009 --- /dev/null +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/ref.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_CONTRACT_EXT_PP_KEYWORD_REF_HPP_ +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REF_HPP_ + +// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! +// Instead, modify and run related generation script "keyword-generate.py". + +#include +#include + +/* PRIVATE */ + +// Must expand to a single comma `,` (not local macros, do not #undefine). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_COMMAref , +#define refBOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_COMMA , + +// Must expand to empty `` (not local macros, do not #undefine). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_EMPTYref +#define refBOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_EMPTY + +/* PUBLIC */ + +// Precondition: tokens must start with a token concatenable to a macro name +// (e.g., a literal or integral token) or with parenthesis. +#define BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REF_FRONT(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_IS_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_COMMA, tokens) + +// Precondition: tokens must end with a token concatenable to a macro name +// (e.g., a literal or integral token) or with parenthesis. +#define BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REF_BACK(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_IS_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_COMMA, tokens) + +// Precondition: tokens must start with `ref` (this can be +// checked with `..._IS_REF_FRONT` macro above). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REF_REMOVE_FRONT(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_EMPTY, tokens) + +// Precondition: tokens must end with `ref` (this can be +// checked with `..._IS_REF_BACK` macro above). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REF_REMOVE_BACK(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REF_CAT_TO_EMPTY, tokens) + +#endif // #include guard + diff --git a/include/boost/contract/ext_/preprocessor/keyword/contract/refref.hpp b/include/boost/contract/ext_/preprocessor/keyword/contract/refref.hpp new file mode 100644 index 0000000..27269ec --- /dev/null +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/refref.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_HPP_ +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_HPP_ + +// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! +// Instead, modify and run related generation script "keyword-generate.py". + +#include +#include + +/* PRIVATE */ + +// Must expand to a single comma `,` (not local macros, do not #undefine). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_COMMArefref , +#define refrefBOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_COMMA , + +// Must expand to empty `` (not local macros, do not #undefine). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_EMPTYrefref +#define refrefBOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_EMPTY + +/* PUBLIC */ + +// Precondition: tokens must start with a token concatenable to a macro name +// (e.g., a literal or integral token) or with parenthesis. +#define BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REFREF_FRONT(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_IS_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_COMMA, tokens) + +// Precondition: tokens must end with a token concatenable to a macro name +// (e.g., a literal or integral token) or with parenthesis. +#define BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REFREF_BACK(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_IS_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_COMMA, tokens) + +// Precondition: tokens must start with `refref` (this can be +// checked with `..._IS_REFREF_FRONT` macro above). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_REMOVE_FRONT(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_FRONT( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_CAT_TO_EMPTY, tokens) + +// Precondition: tokens must end with `refref` (this can be +// checked with `..._IS_REFREF_BACK` macro above). +#define BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_REMOVE_BACK(tokens) \ + BOOST_CONTRACT_EXT_PP_KEYWORD_UTILITY_REMOVE_BACK( \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_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 34105d5..120bdc6 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/contract/verbatim.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_VERBATIM_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp b/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp index 08af30b..aeb4d12 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/decltype.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DECLTYPE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/default.hpp b/include/boost/contract/ext_/preprocessor/keyword/default.hpp index 460e4ec..29f690f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/default.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/default.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DEFAULT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/delete.hpp b/include/boost/contract/ext_/preprocessor/keyword/delete.hpp index 55ad230..caed3a4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/delete.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/delete.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DELETE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/do.hpp b/include/boost/contract/ext_/preprocessor/keyword/do.hpp index 1d02fec..a1494a7 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/do.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/do.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DO_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/double.hpp b/include/boost/contract/ext_/preprocessor/keyword/double.hpp index 3a14807..fc4acb7 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/double.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/double.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DOUBLE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp index 0c13a09..a4053f2 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/dynamic_cast.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_DYNAMIC_CAST_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/else.hpp b/include/boost/contract/ext_/preprocessor/keyword/else.hpp index 1f3dea6..5bfe7a4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/else.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/else.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_ELSE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/enum.hpp b/include/boost/contract/ext_/preprocessor/keyword/enum.hpp index 6e57a00..084d081 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/enum.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/enum.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_ENUM_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp b/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp index f0068cc..1aff55f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/explicit.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPLICIT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/export.hpp b/include/boost/contract/ext_/preprocessor/keyword/export.hpp index 59a9c53..800dcfe 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/export.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/export.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXPORT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/extern.hpp b/include/boost/contract/ext_/preprocessor/keyword/extern.hpp index b44c664..1bc43c0 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/extern.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/extern.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_EXTERN_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/false.hpp b/include/boost/contract/ext_/preprocessor/keyword/false.hpp index 567008c..fe37a20 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/false.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/false.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_FALSE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/final.hpp b/include/boost/contract/ext_/preprocessor/keyword/final.hpp index 425f223..611d6cc 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/final.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/final.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_FINAL_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/float.hpp b/include/boost/contract/ext_/preprocessor/keyword/float.hpp index 0af4dd3..afc1f60 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/float.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/float.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_FLOAT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/for.hpp b/include/boost/contract/ext_/preprocessor/keyword/for.hpp index d541083..b80c355 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/for.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/for.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_FOR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/friend.hpp b/include/boost/contract/ext_/preprocessor/keyword/friend.hpp index 8c4bea3..61827d8 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/friend.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/friend.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_FRIEND_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/goto.hpp b/include/boost/contract/ext_/preprocessor/keyword/goto.hpp index 10e4bd6..a75d6e9 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/goto.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/goto.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_GOTO_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/if.hpp b/include/boost/contract/ext_/preprocessor/keyword/if.hpp index 6aa505d..1d2c459 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/if.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/if.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_IF_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/inline.hpp b/include/boost/contract/ext_/preprocessor/keyword/inline.hpp index 2e81586..84ed7c1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/inline.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/inline.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_INLINE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/int.hpp b/include/boost/contract/ext_/preprocessor/keyword/int.hpp index 3783f2b..9daa09a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/int.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/int.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_INT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/long.hpp b/include/boost/contract/ext_/preprocessor/keyword/long.hpp index 70e5ac5..0453571 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/long.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/long.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_LONG_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp b/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp index b28bad6..6d8e590 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/mutable.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_MUTABLE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp b/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp index 4d06a5d..ed569f4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/namespace.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NAMESPACE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/new.hpp b/include/boost/contract/ext_/preprocessor/keyword/new.hpp index 6b418cc..d4462f9 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/new.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/new.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NEW_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp b/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp index f551382..0add588 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/noexcept.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOEXCEPT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/not.hpp b/include/boost/contract/ext_/preprocessor/keyword/not.hpp index c363678..b97d342 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/not.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/not.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp index ec1eba2..b3cd853 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/not_eq.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NOT_EQ_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp b/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp index 87bacc3..fc93ddb 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/nullptr.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_NULLPTR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/operator.hpp b/include/boost/contract/ext_/preprocessor/keyword/operator.hpp index da4eb43..a868a5a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/operator.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/operator.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_OPERATOR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/or.hpp b/include/boost/contract/ext_/preprocessor/keyword/or.hpp index 031dddc..edbee02 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/or.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/or.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp index 25cb6ae..f4c1093 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/or_eq.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_OR_EQ_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/override.hpp b/include/boost/contract/ext_/preprocessor/keyword/override.hpp index dc6949e..20cc735 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/override.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/override.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_OVERRIDE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/private.hpp b/include/boost/contract/ext_/preprocessor/keyword/private.hpp index a352e9e..03c1d3e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/private.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/private.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_PRIVATE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/protected.hpp b/include/boost/contract/ext_/preprocessor/keyword/protected.hpp index e6416a0..2230f4d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/protected.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/protected.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_PROTECTED_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/public.hpp b/include/boost/contract/ext_/preprocessor/keyword/public.hpp index bb02d4f..9e56eaf 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/public.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/public.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_PUBLIC_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/register.hpp b/include/boost/contract/ext_/preprocessor/keyword/register.hpp index 2ae5d87..c68d13d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/register.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/register.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_REGISTER_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp index 9b2ca6a..ce2562f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/reinterpret_cast.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_REINTERPRET_CAST_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/return.hpp b/include/boost/contract/ext_/preprocessor/keyword/return.hpp index bc3f716..449fd6e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/return.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/return.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_RETURN_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/short.hpp b/include/boost/contract/ext_/preprocessor/keyword/short.hpp index e8716d1..ea46fde 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/short.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/short.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_SHORT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/signed.hpp b/include/boost/contract/ext_/preprocessor/keyword/signed.hpp index 8d9c359..b65a6d4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/signed.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/signed.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIGNED_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp b/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp index 5f1f3a1..b0d61dd 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/sizeof.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_SIZEOF_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/static.hpp b/include/boost/contract/ext_/preprocessor/keyword/static.hpp index 767d656..951d6e9 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp b/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp index 167cd9c..51b5d76 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static_assert.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_ASSERT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp b/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp index 97c3164..78a4e5f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/static_cast.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_STATIC_CAST_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/struct.hpp b/include/boost/contract/ext_/preprocessor/keyword/struct.hpp index 8e1c429..7dda996 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/struct.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/struct.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_STRUCT_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/switch.hpp b/include/boost/contract/ext_/preprocessor/keyword/switch.hpp index fd6aa68..e95c00d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/switch.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/switch.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_SWITCH_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/template.hpp b/include/boost/contract/ext_/preprocessor/keyword/template.hpp index b8193ff..c02b09e 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/template.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/template.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TEMPLATE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/this.hpp b/include/boost/contract/ext_/preprocessor/keyword/this.hpp index a7b0691..b0db693 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/this.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/this.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_THIS_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp b/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp index f33a6cc..3dc953a 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/thread_local.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_THREAD_LOCAL_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/throw.hpp b/include/boost/contract/ext_/preprocessor/keyword/throw.hpp index 0a59c0f..5082952 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/throw.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/throw.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_THROW_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/true.hpp b/include/boost/contract/ext_/preprocessor/keyword/true.hpp index 9fca628..dc4353c 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/true.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/true.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRUE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/try.hpp b/include/boost/contract/ext_/preprocessor/keyword/try.hpp index 422b2d3..b5ae8d1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/try.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/try.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TRY_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp b/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp index 90fc21e..79c6fa3 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typedef.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEDEF_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp b/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp index c06423b..f1d9e06 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typeid.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPEID_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/typename.hpp b/include/boost/contract/ext_/preprocessor/keyword/typename.hpp index 81dd637..2705eb4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/typename.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/typename.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_TYPENAME_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/union.hpp b/include/boost/contract/ext_/preprocessor/keyword/union.hpp index 94ce33f..62ebdf4 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/union.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/union.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNION_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp b/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp index eb74ea4..c62cfe1 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/unsigned.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_UNSIGNED_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/using.hpp b/include/boost/contract/ext_/preprocessor/keyword/using.hpp index 36aca5e..d9e5002 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/using.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/using.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_USING_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp b/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp index 55bcb01..e759bde 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/virtual.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_VIRTUAL_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/void.hpp b/include/boost/contract/ext_/preprocessor/keyword/void.hpp index 36b143e..5f9cd9f 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/void.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/void.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOID_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp b/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp index 7a57e4a..e708480 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/volatile.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_VOLATILE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp b/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp index 83eb77b..aa88d5b 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/wchar_t.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_WCHAR_T_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/while.hpp b/include/boost/contract/ext_/preprocessor/keyword/while.hpp index 18673bb..8c965c7 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/while.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/while.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_WHILE_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/xor.hpp b/include/boost/contract/ext_/preprocessor/keyword/xor.hpp index 3740ebe..e3d54a7 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/xor.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/xor.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp b/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp index d6eaab2..9d5d01d 100644 --- a/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp +++ b/include/boost/contract/ext_/preprocessor/keyword/xor_eq.hpp @@ -3,7 +3,7 @@ #define BOOST_CONTRACT_EXT_PP_KEYWORD_XOR_EQ_HPP_ // WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! -// Instead, modify and run the related generation script "generate.py". +// Instead, modify and run related generation script "keyword-generate.py". #include #include diff --git a/include/boost/contract/ext_/preprocessor/traits/aux_/keyword.hpp b/include/boost/contract/ext_/preprocessor/traits/aux_/keyword.hpp index e22c8d8..9c6234d 100644 --- a/include/boost/contract/ext_/preprocessor/traits/aux_/keyword.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/aux_/keyword.hpp @@ -14,10 +14,13 @@ #include #include -// PUBLIC // +/* PUBLIC */ // A keyword (among 1 single possible one). +// TODO: Consider listing keyword before is_keyword_macro (in general: +// keyword, is_keyword_macro, remove_keyword_macro, etc.). + // IMPLEMENTATION: EXPAND needed for MSVC. #define BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD( \ tokens, \ @@ -63,6 +66,34 @@ BOOST_PP_TUPLE_REM(1) \ ))(tokens) +// A keyword among 2 possible ones. + +#define BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD2( \ + tokens, \ + is_keyword_macro1, keyword1, \ + is_keyword_macro2, keyword2 \ +) \ + BOOST_PP_IIF(is_keyword_macro1(tokens), \ + keyword1 BOOST_PP_EMPTY \ + , BOOST_PP_IIF(is_keyword_macro2(tokens), \ + keyword2 BOOST_PP_EMPTY \ + , \ + BOOST_PP_EMPTY \ + ))() + +#define BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD2_SKIP(\ + tokens, \ + is_keyword_macro1, remove_keyword_macro1, \ + is_keyword_macro2, remove_keyword_macro2 \ +) \ + BOOST_PP_IIF(is_keyword_macro1(tokens), \ + remove_keyword_macro1 \ + , BOOST_PP_IIF(is_keyword_macro2(tokens), \ + remove_keyword_macro2 \ + , \ + BOOST_PP_TUPLE_REM(1) \ + ))(tokens) + // A keyword among 3 possible ones. #define BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD3( \ diff --git a/include/boost/contract/ext_/preprocessor/traits/func.hpp b/include/boost/contract/ext_/preprocessor/traits/func.hpp index 28e7312..64bc017 100644 --- a/include/boost/contract/ext_/preprocessor/traits/func.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/func.hpp @@ -8,6 +8,7 @@ #ifndef BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_HPP_ #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_HPP_ +#include #include #include #include @@ -25,6 +26,16 @@ // NOTE: These macros #definitions read TRITS_FUNC instead of FUNC_TRAITS to // avoid name clashes with macro #define in func/*. +#if defined(BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST) && \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST < \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_REF_INDEX +# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_REF_(sign_traits) \ + sign_traits +#else +# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_REF_(sign_traits) \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_PARSE(sign_traits) +#endif + #if defined(BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST) && \ BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST < \ BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_CV_QUALIFIERS_INDEX @@ -132,6 +143,7 @@ // WARNING: Order of these macros must match ..._INDEX values (see index.hpp). #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS(sign) \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_DONE_( \ + BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_REF_( \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_CV_QUALIFIERS_( \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_PARAMS_( \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_NAME_( \ @@ -143,7 +155,7 @@ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_ACCESS_( \ BOOST_CONTRACT_EXT_PP_SIGN_TRAITS_INIT( \ sign \ - ))))))))))) + )))))))))))) #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp b/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp index edbbfaa..2d2b9e7 100644 --- a/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp @@ -36,7 +36,9 @@ #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_CV_QUALIFIERS_INDEX \ BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_VOLATILE_INDEX -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_DONE_INDEX 17 +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_REF_INDEX 17 + +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_DONE_INDEX 18 #endif // #include guard diff --git a/include/boost/contract/ext_/preprocessor/traits/func/ref.hpp b/include/boost/contract/ext_/preprocessor/traits/func/ref.hpp new file mode 100644 index 0000000..9d9d499 --- /dev/null +++ b/include/boost/contract/ext_/preprocessor/traits/func/ref.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_HPP_ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_HPP_ + +#include +#include +#include +#include +#include +#include + +/* PRIVATE */ + +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_SIGN_(sign, traits) \ + BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD2_SKIP( \ + sign, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REF_FRONT, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REF_REMOVE_FRONT, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REFREF_FRONT, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_REFREF_REMOVE_FRONT \ + ) + +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_TRAIT_(sign, traits) \ + BOOST_CONTRACT_EXT_PP_TRAITS_PUSH_BACK(traits, \ + BOOST_CONTRACT_EXT_PP_TRAITS_AUX_KEYWORD2( \ + sign, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REF_FRONT, ref, \ + BOOST_CONTRACT_EXT_PP_KEYWORD_IS_REFREF_FRONT, refref \ + ) \ + BOOST_PP_EMPTY \ + ) + +/* PUBLIC */ + +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_PARSE(sign_traits) \ + ( \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_SIGN_ sign_traits \ + , \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF_TRAIT_ sign_traits \ + ) + +// Expand to `ref | refref | EMPTY()` (ref for lvalue &, refref for rvalue &&). +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF(traits) \ + BOOST_CONTRACT_EXT_PP_TRAITS_ELEM( \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_REF_INDEX, traits)() + +#endif // #include guard + diff --git a/test/pp_func_traits/Jamfile.v2 b/test/pp_func_traits/Jamfile.v2 index 470756d..b82afc2 100644 --- a/test/pp_func_traits/Jamfile.v2 +++ b/test/pp_func_traits/Jamfile.v2 @@ -23,6 +23,7 @@ test-pp return_ ; test-pp name ; test-pp params ; test-pp cv_qualifiers ; +test-pp ref ; # TODO: Try to automatically run and test wave too... Maybe something like this: # SHELL "wave access.cpp" ; diff --git a/test/pp_func_traits/cv_qualifiers.cpp b/test/pp_func_traits/cv_qualifiers.cpp index ad32f39..5e48136 100644 --- a/test/pp_func_traits/cv_qualifiers.cpp +++ b/test/pp_func_traits/cv_qualifiers.cpp @@ -33,10 +33,8 @@ int main ( ) { BOOST_CONTRACT_TEST_( BOOST_PP_EMPTY() ) - BOOST_CONTRACT_TEST_( const ) BOOST_CONTRACT_TEST_( volatile ) - BOOST_CONTRACT_TEST_( const volatile ) // Same as `const volatile` once parsed (this order does not matter in C++). BOOST_CONTRACT_TEST_PARSED_( volatile const, const volatile ) diff --git a/test/pp_func_traits/ref.cpp b/test/pp_func_traits/ref.cpp new file mode 100644 index 0000000..879a4d6 --- /dev/null +++ b/test/pp_func_traits/ref.cpp @@ -0,0 +1,36 @@ + +#include +#if !BOOST_PP_VARIADICS +# error "this compiler does not support variadic macros" +#else + +#include +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_REF_INDEX + +#include "../aux_/pp_traits.hpp" +#include +#include + +#include + +#define BOOST_CONTRACT_TEST_(trait) \ + BOOST_CONTRACT_TEST_AUX_PP_TRAITS( \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_REF, \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS, \ + (std::map&) (f) ( int x, (std::map&) y ) const, \ + trait, \ + noexcept(my::map::key_size) final override, \ + trait \ + ) + +int main ( ) { + BOOST_CONTRACT_TEST_( BOOST_PP_EMPTY() ) + BOOST_CONTRACT_TEST_( ref ) + BOOST_CONTRACT_TEST_( refref ) + + return BOOST_CONTRACT_TEST_AUX_PP_TRAITS_REPORT_ERRORS; +} + +#endif // variadics +