From 30e2c73725649556c51667b9811042729eb28a05 Mon Sep 17 00:00:00 2001 From: Lorenzo Caminiti <lorcaminiti@gmail.com> Date: Wed, 28 Jan 2015 12:54:40 -0800 Subject: [PATCH] pasring postconditions --- .../ext_/preprocessor/traits/func.hpp | 12 ++++---- .../preprocessor/traits/func/aux_/index.hpp | 2 +- .../traits/func/postconditions.hpp | 29 ++++++++++--------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/include/boost/contract/ext_/preprocessor/traits/func.hpp b/include/boost/contract/ext_/preprocessor/traits/func.hpp index 61ade0b..f384e02 100644 --- a/include/boost/contract/ext_/preprocessor/traits/func.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/func.hpp @@ -2,7 +2,7 @@ #ifndef BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_HPP_ #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_HPP_ -#include <boost/contract/ext_/preprocessor/traits/func/postcondition.hpp> +#include <boost/contract/ext_/preprocessor/traits/func/postconditions.hpp> #include <boost/contract/ext_/preprocessor/traits/func/virt.hpp> #include <boost/contract/ext_/preprocessor/traits/func/except.hpp> #include <boost/contract/ext_/preprocessor/traits/func/ref.hpp> @@ -30,14 +30,14 @@ #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_POSTCONDITION_INDEX -# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITION_PARSE_D( \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_POSTCONDITIONS_INDEX +# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITIONS_PARSE_D( \ d, decl_traits) \ decl_traits #else -# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITION_PARSE_( \ +# define BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITIONS_PARSE_( \ d, decl_traits) \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_PARSE_D(d, decl_traits) + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_PARSE_D(d, decl_traits) #endif #if defined(BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_INDEX_TEST) && \ @@ -197,7 +197,7 @@ // Implementation: These macros order must match INDEX values (see index.hpp). #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_PARSE_D(d, decl) \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_DONE_( \ - BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITION_PARSE_(d, \ + BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_POSTCONDITIONS_PARSE_(d, \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_VIRT_PARSE_( \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_TRAILING_RETURN_PARSE_(d, \ BOOST_CONTRACT_EXT_PP_TRAITS_FUNC_EXCEPT_PARSE_( \ 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 af7e050..b8c3616 100644 --- a/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/func/aux_/index.hpp @@ -44,7 +44,7 @@ #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_VIRT_INDEX \ BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_OVERRIDE_INDEX -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_POSTCONDITION_INDEX 22 +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_POSTCONDITIONS_INDEX 22 // Must be greater than all indexes (i.e., very last one). #define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_MAX_INDEX 23 diff --git a/include/boost/contract/ext_/preprocessor/traits/func/postconditions.hpp b/include/boost/contract/ext_/preprocessor/traits/func/postconditions.hpp index 182b41a..a5f0d46 100644 --- a/include/boost/contract/ext_/preprocessor/traits/func/postconditions.hpp +++ b/include/boost/contract/ext_/preprocessor/traits/func/postconditions.hpp @@ -1,6 +1,6 @@ -#ifndef BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_HPP_ -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_HPP_ +#ifndef BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_ #include <boost/contract/ext_/preprocessor/traits/assertions.hpp> #include <boost/contract/ext_/preprocessor/keyword/contract/postcondition.hpp> @@ -20,18 +20,18 @@ // caller). // Extra level of indirection needed for proper macro expansion (on MSVC). -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_EXPAND_TRAITS_( \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_EXPAND_TRAITS_( \ decl_traits) \ BOOST_PP_TUPLE_ELEM(2, 1, decl_traits) // Precondition: decl = `(,,,) ...` from `postcondition(,,,) ...` originally in // decl. This macro will also parse `(,,,)` into a pp-seq of assertion traits. -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_(d, decl, traits) \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_(d, decl, traits) \ ( \ BOOST_PP_TUPLE_EAT(0) decl, \ BOOST_CONTRACT_EXT_PP_TRAITS_PUSH_BACK( \ traits, \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_EXPAND_TRAITS_( \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_EXPAND_TRAITS_( \ BOOST_CONTRACT_EXT_PP_ASSERTIONS_TRAITS_PARSE_D(d, \ BOOST_PP_EXPAND( \ BOOST_CONTRACT_EXT_PP_VARIADIC_ENUM_TO_SEQ \ @@ -39,40 +39,41 @@ ) \ ) \ ) \ + BOOST_PP_EMPTY \ ) \ ) // Precondition: decl = `postcondition(,,,) ...`. -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_YES_(d, decl, traits) \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_(d, \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_YES_(d, decl, traits) \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_(d, \ BOOST_CONTRACT_EXT_PP_KEYWORD_POSTCONDITION_REMOVE_FRONT(decl), \ traits \ ) -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_NO_( \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_NO_( \ unused, decl, traits) \ (decl, BOOST_CONTRACT_EXT_PP_TRAITS_PUSH_BACK(traits, BOOST_PP_EMPTY)) -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_PARSE_ARGS_( \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_PARSE_ARGS_( \ d, decl, traits) \ BOOST_PP_IIF(BOOST_CONTRACT_EXT_PP_KEYWORD_IS_POSTCONDITION_FRONT(decl), \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_YES_ \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_YES_ \ , \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_NO_ \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_NO_ \ )(d, decl, traits) /* PUBLIC */ -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_PARSE_D( \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_PARSE_D( \ d, decl_traits) \ - BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION_PARSE_ARGS_(d, \ + BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS_PARSE_ARGS_(d, \ BOOST_PP_TUPLE_ELEM(2, 0, decl_traits), \ BOOST_PP_TUPLE_ELEM(2, 1, decl_traits) \ ) // Expand to pp-seq of postcondition assertion traits to be inspected via // ASSERTION_TRAITS macro, or to EMPTY() if no postconditions. -#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITION(traits) \ +#define BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_POSTCONDITIONS(traits) \ BOOST_CONTRACT_EXT_PP_TRAITS_ELEM( \ BOOST_CONTRACT_EXT_PP_FUNC_TRAITS_AUX_POSTCONDITIONS_INDEX, traits \ )()