Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r83297 - in sandbox/contract/boost/contract/detail/preprocessor: array facilities keyword keyword/contract keyword/cstddef keyword/cxx11 keyword/cxx11/cstddef keyword/facilities traits/aux_ traits/func tuple
From: lorcaminiti_at_[hidden]
Date: 2013-03-04 17:40:16


Author: lcaminiti
Date: 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
New Revision: 83297
URL: http://svn.boost.org/trac/boost/changeset/83297

Log:
Update automatically generated code.
Text files modified:
   sandbox/contract/boost/contract/detail/preprocessor/array/rem.hpp | 6
   sandbox/contract/boost/contract/detail/preprocessor/array/rest_n.hpp | 4057 +++++++++++++++++++--------------------
   sandbox/contract/boost/contract/detail/preprocessor/facilities/is_digit.hpp | 544 ++--
   sandbox/contract/boost/contract/detail/preprocessor/keyword/and.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/and_eq.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/asm.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/auto.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/bitand.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/bitor.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/bool.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/break.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/case.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/catch.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/char.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/class.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/compl.hpp | 79
   sandbox/contract/boost/contract/detail/preprocessor/keyword/const.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/const_cast.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/continue.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/comma.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/deduce.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/extends.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/in.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/initialize.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/out.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/postcondition.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/precondition.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/requires.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/ptrdiff_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/size_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char16_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char32_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/constexpr.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/cstddef/nullptr_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/decltype.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/final.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/nullptr.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/override.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/static_assert.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/default.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/delete.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/do.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/double.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/dynamic_cast.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/else.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/enum.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/explicit.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/export.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/extern.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/add.hpp | 10
   sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/is.hpp | 20
   sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/remove.hpp | 24
   sandbox/contract/boost/contract/detail/preprocessor/keyword/false.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/float.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/for.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/friend.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/goto.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/if.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/inline.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/int.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/long.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/mutable.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/namespace.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/new.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/not.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/not_eq.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/operator.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/or.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/or_eq.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/private.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/protected.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/public.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/register.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/reinterpret_cast.hpp | 81
   sandbox/contract/boost/contract/detail/preprocessor/keyword/return.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/short.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/signed.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/sizeof.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/static.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/static_cast.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/struct.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/switch.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/template.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/this.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/throw.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/true.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/try.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/typedef.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/typeid.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/typename.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/union.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/unsigned.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/using.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/virtual.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/void.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/volatile.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/wchar_t.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/while.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/xor.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/keyword/xor_eq.hpp | 77
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply.hpp | 50
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply_1.hpp | 50
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list.hpp | 212 +
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list_1.hpp | 212 +
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_1.hpp | 117
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp | 117
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp | 117
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp | 117
   sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp | 117
   sandbox/contract/boost/contract/detail/preprocessor/traits/func/catches.hpp | 229 +
   sandbox/contract/boost/contract/detail/preprocessor/traits/func/postconditions.hpp | 598 +++--
   sandbox/contract/boost/contract/detail/preprocessor/tuple/split.hpp | 17
   112 files changed, 6900 insertions(+), 6958 deletions(-)

Modified: sandbox/contract/boost/contract/detail/preprocessor/array/rem.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/array/rem.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/array/rem.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -5,8 +5,8 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 // Home at http://sourceforge.net/projects/contractpp
 
-#ifndef CONTRACT_DETAIL_PP_ARRAY_REM_HPP_
-#define CONTRACT_DETAIL_PP_ARRAY_REM_HPP_
+#ifndef BOOST_CONTRACT_DETAIL_PP_ARRAY_REM_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REM_HPP_
 
 #include <boost/preprocessor/tuple/rem.hpp>
 #include <boost/preprocessor/array/size.hpp>
@@ -14,7 +14,7 @@
 
 // PUBLIC //
 
-#define CONTRACT_DETAIL_PP_ARRAY_REM(array) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REM(array) \
     BOOST_PP_TUPLE_REM_CTOR(BOOST_PP_ARRAY_SIZE(array), \
             BOOST_PP_ARRAY_DATA(array))
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/array/rest_n.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/array/rest_n.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/array/rest_n.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,21 +1,16 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_ARRAY_REST_N_HPP_
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
 // Used: #define BOOST_PP_LIMIT_TUPLE 64
 
+#ifndef BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_HPP_
+
 #include <boost/preprocessor/limits.hpp>
 #if BOOST_PP_LIMIT_TUPLE != 64
-#error "Code generation used incorrect BOOST_PP_LIMIT_TUPLE"
+# error "Code generation used incorrect BOOST_PP_LIMIT_TUPLE"
 #endif
 
 #include <boost/preprocessor/cat.hpp>
@@ -24,4044 +19,4044 @@
 
 // PUBLIC //
 
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N(n, array) \
- BOOST_PP_CAT(CONTRACT_DETAIL_PP_ARRAY_REST_N_, \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N(n, array) \
+ BOOST_PP_CAT(BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_, \
             BOOST_PP_CAT(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_CAT(_, n))) \
     BOOST_PP_ARRAY_DATA(array)
 
 // DATA //
 
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_2_1(_1, _2) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_2_1(_1, _2) \
     (1, (_2))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_3_1(_1, _2, _3) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_3_1(_1, _2, _3) \
     (2, (_2, _3))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_3_2(_1, _2, _3) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_3_2(_1, _2, _3) \
     (1, (_3))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_4_1(_1, _2, _3, _4) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_4_1(_1, _2, _3, _4) \
     (3, (_2, _3, _4))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_4_2(_1, _2, _3, _4) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_4_2(_1, _2, _3, _4) \
     (2, (_3, _4))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_4_3(_1, _2, _3, _4) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_4_3(_1, _2, _3, _4) \
     (1, (_4))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_5_1(_1, _2, _3, _4, _5) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_5_1(_1, _2, _3, _4, _5) \
     (4, (_2, _3, _4, _5))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_5_2(_1, _2, _3, _4, _5) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_5_2(_1, _2, _3, _4, _5) \
     (3, (_3, _4, _5))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_5_3(_1, _2, _3, _4, _5) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_5_3(_1, _2, _3, _4, _5) \
     (2, (_4, _5))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_5_4(_1, _2, _3, _4, _5) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_5_4(_1, _2, _3, _4, _5) \
     (1, (_5))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_6_1(_1, _2, _3, _4, _5, _6) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_6_1(_1, _2, _3, _4, _5, _6) \
     (5, (_2, _3, _4, _5, _6))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_6_2(_1, _2, _3, _4, _5, _6) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_6_2(_1, _2, _3, _4, _5, _6) \
     (4, (_3, _4, _5, _6))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_6_3(_1, _2, _3, _4, _5, _6) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_6_3(_1, _2, _3, _4, _5, _6) \
     (3, (_4, _5, _6))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_6_4(_1, _2, _3, _4, _5, _6) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_6_4(_1, _2, _3, _4, _5, _6) \
     (2, (_5, _6))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_6_5(_1, _2, _3, _4, _5, _6) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_6_5(_1, _2, _3, _4, _5, _6) \
     (1, (_6))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_1(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_1(_1, _2, _3, _4, _5, _6, _7) \
     (6, (_2, _3, _4, _5, _6, _7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_2(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_2(_1, _2, _3, _4, _5, _6, _7) \
     (5, (_3, _4, _5, _6, _7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_3(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_3(_1, _2, _3, _4, _5, _6, _7) \
     (4, (_4, _5, _6, _7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_4(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_4(_1, _2, _3, _4, _5, _6, _7) \
     (3, (_5, _6, _7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_5(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_5(_1, _2, _3, _4, _5, _6, _7) \
     (2, (_6, _7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_7_6(_1, _2, _3, _4, _5, _6, _7) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_7_6(_1, _2, _3, _4, _5, _6, _7) \
     (1, (_7))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_1(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_1(_1, _2, _3, _4, _5, _6, _7, _8) \
     (7, (_2, _3, _4, _5, _6, _7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_2(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_2(_1, _2, _3, _4, _5, _6, _7, _8) \
     (6, (_3, _4, _5, _6, _7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_3(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_3(_1, _2, _3, _4, _5, _6, _7, _8) \
     (5, (_4, _5, _6, _7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_4(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_4(_1, _2, _3, _4, _5, _6, _7, _8) \
     (4, (_5, _6, _7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_5(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_5(_1, _2, _3, _4, _5, _6, _7, _8) \
     (3, (_6, _7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_6(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_6(_1, _2, _3, _4, _5, _6, _7, _8) \
     (2, (_7, _8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_8_7(_1, _2, _3, _4, _5, _6, _7, _8) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_8_7(_1, _2, _3, _4, _5, _6, _7, _8) \
     (1, (_8))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_1(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_1(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (8, (_2, _3, _4, _5, _6, _7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_2(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_2(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (7, (_3, _4, _5, _6, _7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_3(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_3(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (6, (_4, _5, _6, _7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_4(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_4(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (5, (_5, _6, _7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_5(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_5(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (4, (_6, _7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_6(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_6(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (3, (_7, _8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_7(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_7(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (2, (_8, _9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_9_8(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_9_8(_1, _2, _3, _4, _5, _6, _7, _8, _9) \
     (1, (_9))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (9, (_2, _3, _4, _5, _6, _7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (8, (_3, _4, _5, _6, _7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (7, (_4, _5, _6, _7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (6, (_5, _6, _7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (5, (_6, _7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (4, (_7, _8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (3, (_8, _9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (2, (_9, _10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_10_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_10_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) \
     (1, (_10))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (10, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (9, (_3, _4, _5, _6, _7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (8, (_4, _5, _6, _7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (7, (_5, _6, _7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (6, (_6, _7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (5, (_7, _8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (4, (_8, _9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (3, (_9, _10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (2, (_10, _11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_11_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_11_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) \
     (1, (_11))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (11, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (10, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (9, (_4, _5, _6, _7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (8, (_5, _6, _7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (7, (_6, _7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (6, (_7, _8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (5, (_8, _9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (4, (_9, _10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (3, (_10, _11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (2, (_11, _12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_12_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_12_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) \
     (1, (_12))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (12, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (11, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (10, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (9, (_5, _6, _7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (8, (_6, _7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (7, (_7, _8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (6, (_8, _9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (5, (_9, _10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (4, (_10, _11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (3, (_11, _12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (2, (_12, _13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_13_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_13_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) \
     (1, (_13))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (13, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (12, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (11, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (10, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (9, (_6, _7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (8, (_7, _8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (7, (_8, _9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (6, (_9, _10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (5, (_10, _11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (4, (_11, _12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (3, (_12, _13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (2, (_13, _14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_14_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_14_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14) \
     (1, (_14))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (14, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (13, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (12, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (11, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (10, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (9, (_7, _8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (8, (_8, _9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (7, (_9, _10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (6, (_10, _11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (5, (_11, _12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (4, (_12, _13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (3, (_13, _14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (2, (_14, _15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_15_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_15_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) \
     (1, (_15))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (15, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (14, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (13, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (12, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (11, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (10, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (9, (_8, _9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (8, (_9, _10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (7, (_10, _11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (6, (_11, _12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (5, (_12, _13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (4, (_13, _14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (3, (_14, _15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (2, (_15, _16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_16_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_16_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16) \
     (1, (_16))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (16, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (15, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (14, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (13, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (12, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (11, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (10, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (9, (_9, _10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (8, (_10, _11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (7, (_11, _12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (6, (_12, _13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (5, (_13, _14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (4, (_14, _15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (3, (_15, _16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (2, (_16, _17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_17_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_17_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) \
     (1, (_17))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (17, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (16, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (15, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (14, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (13, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (12, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (11, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (10, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (9, (_10, _11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (8, (_11, _12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (7, (_12, _13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (6, (_13, _14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (5, (_14, _15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (4, (_15, _16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (3, (_16, _17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (2, (_17, _18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_18_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_18_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18) \
     (1, (_18))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (18, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (17, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (16, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (15, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (14, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (13, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (12, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (11, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (10, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (9, (_11, _12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (8, (_12, _13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (7, (_13, _14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (6, (_14, _15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (5, (_15, _16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (4, (_16, _17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (3, (_17, _18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (2, (_18, _19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_19_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_19_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) \
     (1, (_19))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (19, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (18, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (17, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (16, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (15, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (14, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (13, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (12, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (11, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (10, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (9, (_12, _13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (8, (_13, _14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (7, (_14, _15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (6, (_15, _16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (5, (_16, _17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (4, (_17, _18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (3, (_18, _19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (2, (_19, _20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_20_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_20_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20) \
     (1, (_20))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (20, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (19, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (18, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (17, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (16, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (15, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (14, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (13, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (12, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (11, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (10, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (9, (_13, _14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (8, (_14, _15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (7, (_15, _16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (6, (_16, _17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (5, (_17, _18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (4, (_18, _19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (3, (_19, _20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (2, (_20, _21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_21_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_21_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) \
     (1, (_21))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (21, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (20, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (19, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (18, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (17, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (16, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (15, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (14, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (13, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (12, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (11, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (10, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (9, (_14, _15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (8, (_15, _16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (7, (_16, _17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (6, (_17, _18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (5, (_18, _19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (4, (_19, _20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (3, (_20, _21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (2, (_21, _22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_22_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_22_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22) \
     (1, (_22))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (22, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (21, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (20, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (19, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (18, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (17, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (16, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (15, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (14, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (13, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (12, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (11, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (10, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (9, (_15, _16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (8, (_16, _17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (7, (_17, _18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (6, (_18, _19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (5, (_19, _20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (4, (_20, _21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (3, (_21, _22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (2, (_22, _23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_23_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_23_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) \
     (1, (_23))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (23, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (22, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (21, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (20, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (19, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (18, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (17, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (16, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (15, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (14, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (13, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (12, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (11, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (10, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (9, (_16, _17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (8, (_17, _18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (7, (_18, _19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (6, (_19, _20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (5, (_20, _21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (4, (_21, _22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (3, (_22, _23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (2, (_23, _24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_24_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_24_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) \
     (1, (_24))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (24, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (23, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (22, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (21, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (20, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (19, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (18, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (17, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (16, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (15, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (14, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (13, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (12, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (11, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (10, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (9, (_17, _18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (8, (_18, _19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (7, (_19, _20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (6, (_20, _21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (5, (_21, _22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (4, (_22, _23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (3, (_23, _24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (2, (_24, _25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_25_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_25_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) \
     (1, (_25))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (25, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (24, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (23, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (22, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (21, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (20, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (19, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (18, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (17, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (16, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (15, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (14, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (13, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (12, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (11, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (10, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (9, (_18, _19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (8, (_19, _20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (7, (_20, _21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (6, (_21, _22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (5, (_22, _23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (4, (_23, _24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (3, (_24, _25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (2, (_25, _26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_26_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_26_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26) \
     (1, (_26))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (26, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (25, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (24, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (23, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (22, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (21, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (20, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (19, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (18, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (17, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (16, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (15, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (14, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (13, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (12, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (11, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (10, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (9, (_19, _20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (8, (_20, _21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (7, (_21, _22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (6, (_22, _23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (5, (_23, _24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (4, (_24, _25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (3, (_25, _26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (2, (_26, _27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_27_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_27_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) \
     (1, (_27))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (27, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (26, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (25, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (24, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (23, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (22, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (21, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (20, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (19, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (18, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (17, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (16, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (15, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (14, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (13, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (12, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (11, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (10, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (9, (_20, _21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (8, (_21, _22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (7, (_22, _23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (6, (_23, _24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (5, (_24, _25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (4, (_25, _26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (3, (_26, _27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (2, (_27, _28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_28_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_28_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28) \
     (1, (_28))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (28, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (27, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (26, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (25, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (24, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (23, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (22, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (21, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (20, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (19, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (18, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (17, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (16, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (15, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (14, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (13, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (12, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (11, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (10, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (9, (_21, _22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (8, (_22, _23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (7, (_23, _24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (6, (_24, _25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (5, (_25, _26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (4, (_26, _27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (3, (_27, _28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (2, (_28, _29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_29_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_29_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29) \
     (1, (_29))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (29, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (28, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (27, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (26, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (25, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (24, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (23, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (22, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (21, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (20, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (19, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (18, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (17, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (16, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (15, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (14, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (13, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (12, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (11, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (10, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (9, (_22, _23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (8, (_23, _24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (7, (_24, _25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (6, (_25, _26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (5, (_26, _27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (4, (_27, _28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (3, (_28, _29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (2, (_29, _30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_30_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_30_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30) \
     (1, (_30))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (30, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (29, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (28, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (27, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (26, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (25, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (24, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (23, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (22, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (21, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (20, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (19, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (18, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (17, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (16, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (15, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (14, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (13, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (12, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (11, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (10, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (9, (_23, _24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (8, (_24, _25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (7, (_25, _26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (6, (_26, _27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (5, (_27, _28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (4, (_28, _29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (3, (_29, _30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (2, (_30, _31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_31_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_31_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31) \
     (1, (_31))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (31, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (30, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (29, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (28, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (27, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (26, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (25, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (24, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (23, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (22, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (21, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (20, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (19, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (18, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (17, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (16, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (15, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (14, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (13, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (12, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (11, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (10, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (9, (_24, _25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (8, (_25, _26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (7, (_26, _27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (6, (_27, _28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (5, (_28, _29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (4, (_29, _30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (3, (_30, _31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (2, (_31, _32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_32_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_32_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32) \
     (1, (_32))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (32, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (31, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (30, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (29, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (28, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (27, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (26, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (25, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (24, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (23, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (22, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (21, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (20, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (19, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (18, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (17, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (16, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (15, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (14, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (13, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (12, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (11, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (10, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (9, (_25, _26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (8, (_26, _27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (7, (_27, _28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (6, (_28, _29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (5, (_29, _30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (4, (_30, _31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (3, (_31, _32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (2, (_32, _33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_33_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_33_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33) \
     (1, (_33))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (33, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (32, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (31, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (30, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (29, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (28, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (27, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (26, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (25, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (24, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (23, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (22, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (21, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (20, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (19, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (18, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (17, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (16, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (15, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (14, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (13, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (12, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (11, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (10, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (9, (_26, _27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (8, (_27, _28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (7, (_28, _29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (6, (_29, _30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (5, (_30, _31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (4, (_31, _32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (3, (_32, _33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (2, (_33, _34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_34_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_34_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34) \
     (1, (_34))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (34, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (33, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (32, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (31, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (30, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (29, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (28, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (27, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (26, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (25, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (24, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (23, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (22, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (21, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (20, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (19, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (18, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (17, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (16, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (15, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (14, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (13, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (12, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (11, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (10, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (9, (_27, _28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (8, (_28, _29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (7, (_29, _30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (6, (_30, _31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (5, (_31, _32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (4, (_32, _33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (3, (_33, _34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (2, (_34, _35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_35_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_35_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35) \
     (1, (_35))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (35, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (34, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (33, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (32, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (31, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (30, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (29, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (28, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (27, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (26, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (25, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (24, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (23, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (22, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (21, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (20, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (19, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (18, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (17, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (16, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (15, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (14, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (13, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (12, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (11, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (10, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (9, (_28, _29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (8, (_29, _30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (7, (_30, _31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (6, (_31, _32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (5, (_32, _33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (4, (_33, _34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (3, (_34, _35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (2, (_35, _36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_36_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_36_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) \
     (1, (_36))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (36, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (35, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (34, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (33, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (32, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (31, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (30, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (29, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (28, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (27, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (26, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (25, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (24, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (23, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (22, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (21, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (20, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (19, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (18, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (17, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (16, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (15, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (14, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (13, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (12, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (11, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (10, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (9, (_29, _30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (8, (_30, _31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (7, (_31, _32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (6, (_32, _33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (5, (_33, _34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (4, (_34, _35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (3, (_35, _36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (2, (_36, _37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_37_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_37_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) \
     (1, (_37))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (37, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (36, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (35, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (34, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (33, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (32, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (31, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (30, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (29, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (28, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (27, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (26, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (25, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (24, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (23, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (22, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (21, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (20, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (19, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (18, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (17, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (16, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (15, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (14, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (13, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (12, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (11, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (10, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (9, (_30, _31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (8, (_31, _32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (7, (_32, _33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (6, (_33, _34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (5, (_34, _35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (4, (_35, _36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (3, (_36, _37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (2, (_37, _38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_38_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_38_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) \
     (1, (_38))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (38, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (37, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (36, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (35, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (34, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (33, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (32, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (31, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (30, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (29, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (28, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (27, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (26, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (25, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (24, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (23, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (22, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (21, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (20, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (19, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (18, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (17, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (16, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (15, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (14, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (13, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (12, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (11, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (10, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (9, (_31, _32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (8, (_32, _33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (7, (_33, _34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (6, (_34, _35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (5, (_35, _36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (4, (_36, _37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (3, (_37, _38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (2, (_38, _39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_39_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_39_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39) \
     (1, (_39))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (39, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (38, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (37, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (36, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (35, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (34, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (33, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (32, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (31, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (30, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (29, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (28, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (27, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (26, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (25, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (24, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (23, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (22, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (21, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (20, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (19, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (18, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (17, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (16, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (15, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (14, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (13, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (12, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (11, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (10, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (9, (_32, _33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (8, (_33, _34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (7, (_34, _35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (6, (_35, _36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (5, (_36, _37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (4, (_37, _38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (3, (_38, _39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (2, (_39, _40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_40_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_40_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40) \
     (1, (_40))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (40, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (39, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (38, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (37, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (36, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (35, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (34, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (33, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (32, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (31, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (30, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (29, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (28, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (27, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (26, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (25, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (24, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (23, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (22, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (21, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (20, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (19, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (18, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (17, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (16, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (15, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (14, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (13, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (12, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (11, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (10, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (9, (_33, _34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (8, (_34, _35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (7, (_35, _36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (6, (_36, _37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (5, (_37, _38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (4, (_38, _39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (3, (_39, _40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (2, (_40, _41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_41_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_41_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41) \
     (1, (_41))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (41, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (40, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (39, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (38, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (37, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (36, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (35, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (34, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (33, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (32, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (31, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (30, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (29, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (28, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (27, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (26, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (25, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (24, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (23, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (22, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (21, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (20, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (19, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (18, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (17, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (16, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (15, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (14, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (13, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (12, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (11, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (10, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (9, (_34, _35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (8, (_35, _36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (7, (_36, _37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (6, (_37, _38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (5, (_38, _39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (4, (_39, _40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (3, (_40, _41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (2, (_41, _42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_42_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_42_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42) \
     (1, (_42))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (42, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (41, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (40, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (39, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (38, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (37, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (36, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (35, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (34, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (33, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (32, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (31, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (30, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (29, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (28, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (27, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (26, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (25, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (24, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (23, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (22, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (21, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (20, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (19, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (18, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (17, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (16, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (15, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (14, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (13, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (12, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (11, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (10, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (9, (_35, _36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (8, (_36, _37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (7, (_37, _38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (6, (_38, _39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (5, (_39, _40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (4, (_40, _41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (3, (_41, _42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (2, (_42, _43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_43_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_43_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43) \
     (1, (_43))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (43, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (42, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (41, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (40, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (39, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (38, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (37, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (36, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (35, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (34, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (33, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (32, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (31, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (30, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (29, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (28, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (27, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (26, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (25, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (24, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (23, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (22, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (21, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (20, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (19, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (18, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (17, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (16, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (15, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (14, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (13, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (12, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (11, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (10, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (9, (_36, _37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (8, (_37, _38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (7, (_38, _39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (6, (_39, _40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (5, (_40, _41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (4, (_41, _42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (3, (_42, _43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (2, (_43, _44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_44_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_44_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44) \
     (1, (_44))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (44, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (43, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (42, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (41, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (40, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (39, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (38, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (37, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (36, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (35, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (34, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (33, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (32, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (31, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (30, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (29, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (28, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (27, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (26, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (25, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (24, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (23, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (22, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (21, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (20, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (19, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (18, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (17, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (16, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (15, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (14, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (13, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (12, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (11, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (10, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (9, (_37, _38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (8, (_38, _39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (7, (_39, _40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (6, (_40, _41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (5, (_41, _42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (4, (_42, _43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (3, (_43, _44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (2, (_44, _45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_45_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_45_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45) \
     (1, (_45))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (45, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (44, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (43, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (42, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (41, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (40, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (39, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (38, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (37, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (36, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (35, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (34, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (33, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (32, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (31, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (30, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (29, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (28, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (27, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (26, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (25, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (24, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (23, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (22, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (21, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (20, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (19, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (18, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (17, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (16, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (15, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (14, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (13, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (12, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (11, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (10, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (9, (_38, _39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (8, (_39, _40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (7, (_40, _41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (6, (_41, _42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (5, (_42, _43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (4, (_43, _44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (3, (_44, _45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (2, (_45, _46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_46_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_46_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46) \
     (1, (_46))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (46, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (45, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (44, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (43, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (42, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (41, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (40, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (39, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (38, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (37, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (36, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (35, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (34, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (33, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (32, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (31, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (30, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (29, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (28, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (27, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (26, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (25, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (24, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (23, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (22, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (21, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (20, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (19, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (18, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (17, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (16, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (15, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (14, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (13, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (12, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (11, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (10, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (9, (_39, _40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (8, (_40, _41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (7, (_41, _42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (6, (_42, _43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (5, (_43, _44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (4, (_44, _45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (3, (_45, _46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (2, (_46, _47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_47_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_47_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) \
     (1, (_47))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (47, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (46, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (45, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (44, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (43, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (42, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (41, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (40, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (39, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (38, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (37, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (36, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (35, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (34, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (33, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (32, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (31, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (30, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (29, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (28, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (27, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (26, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (25, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (24, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (23, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (22, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (21, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (20, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (19, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (18, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (17, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (16, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (15, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (14, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (13, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (12, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (11, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (10, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (9, (_40, _41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (8, (_41, _42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (7, (_42, _43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (6, (_43, _44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (5, (_44, _45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (4, (_45, _46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (3, (_46, _47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (2, (_47, _48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_48_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_48_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48) \
     (1, (_48))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (48, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (47, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (46, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (45, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (44, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (43, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (42, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (41, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (40, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (39, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (38, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (37, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (36, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (35, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (34, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (33, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (32, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (31, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (30, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (29, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (28, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (27, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (26, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (25, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (24, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (23, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (22, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (21, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (20, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (19, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (18, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (17, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (16, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (15, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (14, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (13, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (12, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (11, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (10, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (9, (_41, _42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (8, (_42, _43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (7, (_43, _44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (6, (_44, _45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (5, (_45, _46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (4, (_46, _47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (3, (_47, _48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (2, (_48, _49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_49_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_49_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) \
     (1, (_49))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (49, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (48, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (47, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (46, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (45, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (44, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (43, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (42, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (41, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (40, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (39, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (38, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (37, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (36, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (35, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (34, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (33, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (32, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (31, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (30, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (29, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (28, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (27, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (26, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (25, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (24, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (23, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (22, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (21, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (20, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (19, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (18, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (17, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (16, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (15, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (14, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (13, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (12, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (11, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (10, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (9, (_42, _43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (8, (_43, _44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (7, (_44, _45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (6, (_45, _46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (5, (_46, _47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (4, (_47, _48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (3, (_48, _49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (2, (_49, _50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_50_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_50_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) \
     (1, (_50))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (50, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (49, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (48, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (47, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (46, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (45, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (44, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (43, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (42, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (41, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (40, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (39, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (38, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (37, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (36, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (35, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (34, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (33, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (32, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (31, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (30, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (29, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (28, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (27, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (26, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (25, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (24, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (23, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (22, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (21, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (20, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (19, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (18, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (17, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (16, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (15, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (14, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (13, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (12, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (11, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (10, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (9, (_43, _44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (8, (_44, _45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (7, (_45, _46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (6, (_46, _47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (5, (_47, _48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (4, (_48, _49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (3, (_49, _50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (2, (_50, _51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_51_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_51_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) \
     (1, (_51))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (51, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (50, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (49, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (48, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (47, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (46, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (45, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (44, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (43, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (42, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (41, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (40, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (39, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (38, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (37, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (36, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (35, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (34, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (33, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (32, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (31, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (30, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (29, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (28, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (27, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (26, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (25, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (24, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (23, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (22, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (21, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (20, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (19, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (18, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (17, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (16, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (15, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (14, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (13, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (12, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (11, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (10, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (9, (_44, _45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (8, (_45, _46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (7, (_46, _47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (6, (_47, _48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (5, (_48, _49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (4, (_49, _50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (3, (_50, _51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (2, (_51, _52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_52_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_52_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52) \
     (1, (_52))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (52, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (51, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (50, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (49, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (48, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (47, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (46, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (45, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (44, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (43, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (42, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (41, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (40, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (39, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (38, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (37, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (36, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (35, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (34, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (33, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (32, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (31, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (30, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (29, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (28, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (27, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (26, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (25, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (24, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (23, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (22, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (21, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (20, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (19, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (18, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (17, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (16, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (15, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (14, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (13, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (12, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (11, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (10, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (9, (_45, _46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (8, (_46, _47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (7, (_47, _48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (6, (_48, _49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (5, (_49, _50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (4, (_50, _51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (3, (_51, _52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (2, (_52, _53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_53_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_53_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53) \
     (1, (_53))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (53, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (52, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (51, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (50, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (49, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (48, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (47, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (46, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (45, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (44, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (43, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (42, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (41, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (40, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (39, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (38, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (37, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (36, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (35, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (34, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (33, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (32, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (31, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (30, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (29, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (28, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (27, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (26, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (25, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (24, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (23, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (22, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (21, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (20, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (19, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (18, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (17, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (16, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (15, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (14, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (13, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (12, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (11, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (10, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (9, (_46, _47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (8, (_47, _48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (7, (_48, _49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (6, (_49, _50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (5, (_50, _51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (4, (_51, _52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (3, (_52, _53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (2, (_53, _54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_54_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_54_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54) \
     (1, (_54))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (54, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (53, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (52, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (51, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (50, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (49, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (48, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (47, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (46, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (45, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (44, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (43, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (42, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (41, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (40, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (39, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (38, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (37, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (36, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (35, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (34, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (33, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (32, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (31, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (30, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (29, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (28, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (27, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (26, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (25, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (24, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (23, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (22, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (21, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (20, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (19, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (18, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (17, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (16, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (15, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (14, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (13, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (12, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (11, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (10, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (9, (_47, _48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (8, (_48, _49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (7, (_49, _50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (6, (_50, _51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (5, (_51, _52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (4, (_52, _53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (3, (_53, _54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (2, (_54, _55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_55_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_55_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55) \
     (1, (_55))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (55, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (54, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (53, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (52, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (51, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (50, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (49, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (48, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (47, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (46, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (45, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (44, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (43, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (42, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (41, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (40, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (39, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (38, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (37, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (36, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (35, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (34, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (33, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (32, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (31, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (30, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (29, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (28, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (27, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (26, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (25, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (24, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (23, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (22, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (21, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (20, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (19, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (18, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (17, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (16, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (15, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (14, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (13, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (12, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (11, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (10, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (9, (_48, _49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (8, (_49, _50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (7, (_50, _51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (6, (_51, _52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (5, (_52, _53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (4, (_53, _54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (3, (_54, _55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (2, (_55, _56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_56_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_56_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56) \
     (1, (_56))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (56, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (55, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (54, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (53, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (52, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (51, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (50, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (49, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (48, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (47, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (46, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (45, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (44, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (43, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (42, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (41, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (40, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (39, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (38, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (37, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (36, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (35, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (34, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (33, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (32, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (31, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (30, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (29, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (28, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (27, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (26, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (25, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (24, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (23, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (22, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (21, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (20, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (19, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (18, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (17, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (16, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (15, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (14, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (13, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (12, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (11, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (10, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (9, (_49, _50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (8, (_50, _51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (7, (_51, _52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (6, (_52, _53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (5, (_53, _54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (4, (_54, _55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (3, (_55, _56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (2, (_56, _57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_57_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_57_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57) \
     (1, (_57))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (57, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (56, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (55, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (54, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (53, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (52, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (51, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (50, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (49, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (48, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (47, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (46, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (45, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (44, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (43, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (42, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (41, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (40, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (39, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (38, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (37, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (36, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (35, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (34, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (33, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (32, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (31, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (30, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (29, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (28, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (27, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (26, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (25, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (24, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (23, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (22, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (21, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (20, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (19, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (18, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (17, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (16, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (15, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (14, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (13, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (12, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (11, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (10, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (9, (_50, _51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (8, (_51, _52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (7, (_52, _53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (6, (_53, _54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (5, (_54, _55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (4, (_55, _56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (3, (_56, _57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (2, (_57, _58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_58_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_58_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58) \
     (1, (_58))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (58, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (57, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (56, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (55, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (54, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (53, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (52, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (51, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (50, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (49, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (48, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (47, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (46, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (45, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (44, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (43, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (42, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (41, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (40, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (39, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (38, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (37, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (36, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (35, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (34, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (33, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (32, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (31, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (30, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (29, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (28, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (27, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (26, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (25, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (24, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (23, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (22, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (21, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (20, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (19, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (18, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (17, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (16, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (15, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (14, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (13, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (12, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (11, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (10, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (9, (_51, _52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (8, (_52, _53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (7, (_53, _54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (6, (_54, _55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (5, (_55, _56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (4, (_56, _57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (3, (_57, _58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (2, (_58, _59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_59_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_59_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59) \
     (1, (_59))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (59, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (58, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (57, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (56, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (55, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (54, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (53, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (52, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (51, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (50, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (49, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (48, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (47, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (46, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (45, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (44, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (43, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (42, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (41, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (40, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (39, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (38, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (37, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (36, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (35, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (34, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (33, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (32, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (31, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (30, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (29, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (28, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (27, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (26, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (25, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (24, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (23, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (22, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (21, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (20, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (19, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (18, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (17, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (16, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (15, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (14, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (13, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (12, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (11, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (10, (_51, _52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (9, (_52, _53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (8, (_53, _54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (7, (_54, _55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (6, (_55, _56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (5, (_56, _57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (4, (_57, _58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (3, (_58, _59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (2, (_59, _60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_60_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_60_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60) \
     (1, (_60))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (60, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (59, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (58, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (57, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (56, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (55, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (54, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (53, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (52, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (51, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (50, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (49, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (48, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (47, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (46, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (45, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (44, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (43, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (42, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (41, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (40, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (39, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (38, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (37, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (36, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (35, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (34, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (33, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (32, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (31, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (30, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (29, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (28, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (27, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (26, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (25, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (24, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (23, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (22, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (21, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (20, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (19, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (18, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (17, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (16, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (15, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (14, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (13, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (12, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (11, (_51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (10, (_52, _53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (9, (_53, _54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (8, (_54, _55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (7, (_55, _56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (6, (_56, _57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (5, (_57, _58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (4, (_58, _59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (3, (_59, _60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (2, (_60, _61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_61_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_61_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61) \
     (1, (_61))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (61, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (60, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (59, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (58, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (57, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (56, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (55, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (54, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (53, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (52, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (51, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (50, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (49, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (48, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (47, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (46, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (45, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (44, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (43, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (42, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (41, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (40, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (39, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (38, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (37, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (36, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (35, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (34, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (33, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (32, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (31, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (30, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (29, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (28, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (27, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (26, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (25, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (24, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (23, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (22, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (21, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (20, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (19, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (18, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (17, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (16, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (15, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (14, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (13, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (12, (_51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (11, (_52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (10, (_53, _54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (9, (_54, _55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (8, (_55, _56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (7, (_56, _57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (6, (_57, _58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (5, (_58, _59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (4, (_59, _60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (3, (_60, _61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (2, (_61, _62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_62_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_62_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) \
     (1, (_62))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (62, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (61, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (60, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (59, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (58, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (57, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (56, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (55, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (54, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (53, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (52, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (51, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (50, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (49, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (48, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (47, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (46, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (45, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (44, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (43, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (42, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (41, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (40, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (39, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (38, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (37, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (36, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (35, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (34, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (33, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (32, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (31, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (30, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (29, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (28, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (27, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (26, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (25, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (24, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (23, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (22, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (21, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (20, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (19, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (18, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (17, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (16, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (15, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (14, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (13, (_51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (12, (_52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (11, (_53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (10, (_54, _55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (9, (_55, _56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (8, (_56, _57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (7, (_57, _58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (6, (_58, _59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (5, (_59, _60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (4, (_60, _61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (3, (_61, _62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (2, (_62, _63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_63_62(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_63_62(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) \
     (1, (_63))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_1(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (63, (_2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_2(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (62, (_3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_3(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (61, (_4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_4(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (60, (_5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_5(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (59, (_6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_6(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (58, (_7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_7(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (57, (_8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_8(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (56, (_9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_9(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (55, (_10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (54, (_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (53, (_12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (52, (_13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (51, (_14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (50, (_15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (49, (_16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (48, (_17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (47, (_18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (46, (_19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (45, (_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (44, (_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (43, (_22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (42, (_23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (41, (_24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (40, (_25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (39, (_26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (38, (_27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (37, (_28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (36, (_29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (35, (_30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (34, (_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (33, (_32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (32, (_33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (31, (_34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (30, (_35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (29, (_36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (28, (_37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (27, (_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (26, (_39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (25, (_40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (24, (_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (23, (_42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (22, (_43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (21, (_44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (20, (_45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (19, (_46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (18, (_47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (17, (_48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (16, (_49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (15, (_50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (14, (_51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (13, (_52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (12, (_53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (11, (_54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (10, (_55, _56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (9, (_56, _57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (8, (_57, _58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (7, (_58, _59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (6, (_59, _60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (5, (_60, _61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (4, (_61, _62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (3, (_62, _63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_62(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_62(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (2, (_63, _64))
-#define CONTRACT_DETAIL_PP_ARRAY_REST_N_64_63(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
+#define BOOST_CONTRACT_DETAIL_PP_ARRAY_REST_N_64_63(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64) \
     (1, (_64))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/facilities/is_digit.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/facilities/is_digit.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/facilities/is_digit.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,285 +1,285 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used: #define BOOST_PP_LIMIT_MAG 256
 
-#ifndef CONTRACT_DETAIL_PP_IS_DIGIT_HPP_
-#define CONTRACT_DETAIL_PP_IS_DIGIT_HPP_
+#ifndef BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_HPP_
 
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used: #define BOOST_PP_LIMIT_MAG 256
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
 
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/preprocessor/limits.hpp>
+#if BOOST_PP_LIMIT_MAG != 256
+# error "Code generation used incorrect BOOST_PP_LIMIT_MAG"
+#endif
 
 // PUBLIC //
 
-#define CONTRACT_DETAIL_PP_IS_DIGIT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_IS_DIGIT_)
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_)
 
 // DATA //
 
-#define CONTRACT_DETAIL_PP_IS_DIGIT_0 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_1 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_2 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_3 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_4 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_5 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_6 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_7 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_8 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_9 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_10 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_11 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_12 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_13 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_14 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_15 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_16 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_17 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_18 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_19 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_20 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_21 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_22 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_23 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_24 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_25 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_26 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_27 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_28 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_29 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_30 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_31 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_32 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_33 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_34 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_35 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_36 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_37 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_38 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_39 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_40 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_41 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_42 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_43 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_44 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_45 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_46 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_47 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_48 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_49 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_50 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_51 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_52 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_53 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_54 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_55 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_56 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_57 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_58 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_59 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_60 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_61 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_62 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_63 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_64 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_65 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_66 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_67 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_68 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_69 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_70 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_71 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_72 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_73 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_74 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_75 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_76 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_77 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_78 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_79 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_80 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_81 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_82 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_83 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_84 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_85 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_86 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_87 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_88 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_89 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_90 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_91 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_92 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_93 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_94 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_95 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_96 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_97 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_98 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_99 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_100 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_101 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_102 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_103 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_104 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_105 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_106 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_107 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_108 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_109 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_110 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_111 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_112 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_113 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_114 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_115 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_116 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_117 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_118 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_119 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_120 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_121 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_122 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_123 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_124 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_125 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_126 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_127 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_128 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_129 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_130 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_131 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_132 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_133 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_134 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_135 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_136 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_137 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_138 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_139 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_140 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_141 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_142 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_143 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_144 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_145 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_146 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_147 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_148 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_149 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_150 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_151 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_152 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_153 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_154 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_155 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_156 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_157 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_158 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_159 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_160 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_161 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_162 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_163 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_164 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_165 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_166 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_167 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_168 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_169 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_170 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_171 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_172 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_173 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_174 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_175 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_176 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_177 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_178 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_179 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_180 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_181 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_182 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_183 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_184 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_185 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_186 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_187 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_188 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_189 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_190 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_191 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_192 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_193 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_194 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_195 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_196 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_197 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_198 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_199 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_200 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_201 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_202 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_203 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_204 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_205 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_206 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_207 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_208 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_209 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_210 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_211 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_212 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_213 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_214 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_215 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_216 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_217 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_218 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_219 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_220 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_221 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_222 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_223 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_224 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_225 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_226 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_227 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_228 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_229 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_230 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_231 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_232 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_233 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_234 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_235 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_236 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_237 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_238 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_239 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_240 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_241 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_242 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_243 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_244 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_245 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_246 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_247 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_248 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_249 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_250 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_251 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_252 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_253 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_254 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_255 (1) /* unary */
-#define CONTRACT_DETAIL_PP_IS_DIGIT_256 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_0 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_1 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_2 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_3 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_4 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_5 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_6 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_7 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_8 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_9 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_10 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_11 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_12 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_13 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_14 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_15 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_16 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_17 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_18 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_19 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_20 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_21 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_22 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_23 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_24 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_25 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_26 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_27 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_28 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_29 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_30 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_31 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_32 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_33 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_34 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_35 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_36 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_37 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_38 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_39 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_40 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_41 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_42 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_43 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_44 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_45 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_46 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_47 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_48 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_49 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_50 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_51 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_52 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_53 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_54 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_55 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_56 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_57 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_58 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_59 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_60 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_61 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_62 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_63 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_64 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_65 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_66 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_67 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_68 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_69 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_70 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_71 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_72 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_73 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_74 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_75 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_76 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_77 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_78 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_79 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_80 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_81 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_82 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_83 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_84 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_85 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_86 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_87 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_88 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_89 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_90 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_91 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_92 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_93 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_94 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_95 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_96 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_97 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_98 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_99 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_100 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_101 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_102 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_103 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_104 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_105 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_106 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_107 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_108 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_109 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_110 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_111 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_112 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_113 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_114 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_115 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_116 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_117 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_118 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_119 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_120 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_121 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_122 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_123 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_124 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_125 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_126 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_127 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_128 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_129 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_130 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_131 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_132 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_133 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_134 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_135 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_136 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_137 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_138 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_139 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_140 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_141 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_142 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_143 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_144 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_145 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_146 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_147 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_148 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_149 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_150 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_151 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_152 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_153 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_154 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_155 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_156 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_157 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_158 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_159 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_160 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_161 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_162 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_163 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_164 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_165 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_166 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_167 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_168 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_169 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_170 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_171 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_172 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_173 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_174 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_175 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_176 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_177 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_178 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_179 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_180 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_181 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_182 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_183 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_184 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_185 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_186 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_187 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_188 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_189 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_190 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_191 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_192 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_193 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_194 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_195 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_196 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_197 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_198 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_199 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_200 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_201 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_202 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_203 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_204 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_205 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_206 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_207 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_208 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_209 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_210 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_211 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_212 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_213 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_214 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_215 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_216 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_217 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_218 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_219 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_220 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_221 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_222 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_223 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_224 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_225 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_226 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_227 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_228 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_229 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_230 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_231 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_232 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_233 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_234 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_235 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_236 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_237 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_238 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_239 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_240 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_241 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_242 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_243 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_244 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_245 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_246 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_247 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_248 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_249 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_250 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_251 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_252 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_253 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_254 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_255 (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_IS_DIGIT_256 (1) /* unary */
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/and.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/and.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/and.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_AND_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_IS_and (1) /* unary */
-#define and_CONTRACT_DETAIL_PP_KEYWORD_AND_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_and /* nothing */
-#define and_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_IS_and (1) /* unary */
+#define and_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_and /* nothing */
+#define and_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_AND_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_AND_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT, and)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK, and)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_FRONT, and)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_BACK, and)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/and_eq.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/and_eq.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/and_eq.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS_and_eq (1) /* unary */
-#define and_eq_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_and_eq /* nothing */
-#define and_eq_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS_and_eq (1) /* unary */
+#define and_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_and_eq /* nothing */
+#define and_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT, and_eq)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK, and_eq)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_FRONT, and_eq)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AND_EQ_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AND_EQ_BACK, and_eq)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/asm.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/asm.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/asm.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_ASM_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_IS_asm (1) /* unary */
-#define asm_CONTRACT_DETAIL_PP_KEYWORD_ASM_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_asm /* nothing */
-#define asm_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_IS_asm (1) /* unary */
+#define asm_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_asm /* nothing */
+#define asm_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_ASM_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_ASM_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT, asm)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ASM_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK, asm)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_FRONT, asm)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ASM_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ASM_BACK, asm)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/auto.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/auto.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/auto.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_AUTO_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS_auto (1) /* unary */
-#define auto_CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_auto /* nothing */
-#define auto_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS_auto (1) /* unary */
+#define auto_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_auto /* nothing */
+#define auto_BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, auto)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_AUTO_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK, auto)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, auto)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_BACK, auto)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/bitand.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/bitand.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/bitand.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_BITAND_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS_bitand (1) /* unary */
-#define bitand_CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_bitand /* nothing */
-#define bitand_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS_bitand (1) /* unary */
+#define bitand_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_bitand /* nothing */
+#define bitand_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT, bitand)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BITAND_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK, bitand)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_FRONT, bitand)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITAND_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITAND_BACK, bitand)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/bitor.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/bitor.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/bitor.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_BITOR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS_bitor (1) /* unary */
-#define bitor_CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_bitor /* nothing */
-#define bitor_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS_bitor (1) /* unary */
+#define bitor_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_bitor /* nothing */
+#define bitor_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT, bitor)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BITOR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK, bitor)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_FRONT, bitor)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BITOR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BITOR_BACK, bitor)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/bool.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/bool.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/bool.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_BOOL_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS_bool (1) /* unary */
-#define bool_CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_bool /* nothing */
-#define bool_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS_bool (1) /* unary */
+#define bool_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_bool /* nothing */
+#define bool_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT, bool)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BOOL_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK, bool)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_FRONT, bool)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BOOL_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BOOL_BACK, bool)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/break.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/break.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/break.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_BREAK_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS_break (1) /* unary */
-#define break_CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_break /* nothing */
-#define break_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS_break (1) /* unary */
+#define break_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_break /* nothing */
+#define break_BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT, break)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_BREAK_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK, break)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_FRONT, break)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_BREAK_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_BREAK_BACK, break)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/case.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/case.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/case.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CASE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_IS_case (1) /* unary */
-#define case_CONTRACT_DETAIL_PP_KEYWORD_CASE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_case /* nothing */
-#define case_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_IS_case (1) /* unary */
+#define case_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_case /* nothing */
+#define case_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CASE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CASE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT, case)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CASE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK, case)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_FRONT, case)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CASE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CASE_BACK, case)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/catch.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/catch.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/catch.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CATCH_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS_catch (1) /* unary */
-#define catch_CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_catch /* nothing */
-#define catch_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS_catch (1) /* unary */
+#define catch_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_catch /* nothing */
+#define catch_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT, catch)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CATCH_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK, catch)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT, catch)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CATCH_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_BACK, catch)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/char.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/char.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/char.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CHAR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS_char (1) /* unary */
-#define char_CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_char /* nothing */
-#define char_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS_char (1) /* unary */
+#define char_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_char /* nothing */
+#define char_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT, char)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK, char)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_FRONT, char)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR_BACK, char)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/class.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/class.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/class.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CLASS_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS_class (1) /* unary */
-#define class_CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_class /* nothing */
-#define class_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS_class (1) /* unary */
+#define class_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_class /* nothing */
+#define class_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT, class)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CLASS_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK, class)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_FRONT, class)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CLASS_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CLASS_BACK, class)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/compl.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/compl.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/compl.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_COMPL_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS_compl (1) /* unary */
-#define compl_CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_compl /* nothing */
-#define compl_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS_compl (1) /* unary */
+#define compl_BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_compl /* nothing */
+#define compl_BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE /* nothing */
 
-// PRIVATE //
+// PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT, compl)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_COMPL_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK, compl)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_FRONT, compl)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMPL_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMPL_BACK, compl)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/const.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/const.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/const.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CONST_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_IS_const (1) /* unary */
-#define const_CONTRACT_DETAIL_PP_KEYWORD_CONST_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_const /* nothing */
-#define const_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_IS_const (1) /* unary */
+#define const_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_const /* nothing */
+#define const_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CONST_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONST_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT, const)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK, const)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_FRONT, const)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_BACK, const)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/const_cast.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/const_cast.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/const_cast.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS_const_cast (1) /* unary */
-#define const_cast_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_const_cast /* nothing */
-#define const_cast_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS_const_cast (1) /* unary */
+#define const_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_const_cast /* nothing */
+#define const_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT, const_cast)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK, const_cast)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_FRONT, const_cast)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONST_CAST_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONST_CAST_BACK, const_cast)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/continue.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/continue.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/continue.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS_continue (1) /* unary */
-#define continue_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_continue /* nothing */
-#define continue_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS_continue (1) /* unary */
+#define continue_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_continue /* nothing */
+#define continue_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT, continue)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK, continue)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_FRONT, continue)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONTINUE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONTINUE_BACK, continue)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/comma.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/comma.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/comma.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_COMMA_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS_comma (1) /* unary */
-#define comma_CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_comma /* nothing */
-#define comma_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS_comma (1) /* unary */
+#define comma_BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_comma /* nothing */
+#define comma_BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT, comma)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_COMMA_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK, comma)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_FRONT, comma)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_COMMA_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_COMMA_BACK, comma)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/deduce.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/deduce.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/deduce.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS_deduce (1) /* unary */
-#define deduce_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_deduce /* nothing */
-#define deduce_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS_deduce (1) /* unary */
+#define deduce_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_deduce /* nothing */
+#define deduce_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT, deduce)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK, deduce)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_FRONT, deduce)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEDUCE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEDUCE_BACK, deduce)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/extends.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/extends.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/extends.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS_extends (1) /* unary */
-#define extends_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_extends /* nothing */
-#define extends_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS_extends (1) /* unary */
+#define extends_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_extends /* nothing */
+#define extends_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT, extends)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK, extends)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_FRONT, extends)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTENDS_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTENDS_BACK, extends)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/in.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/in.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/in.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_IN_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_IS_in (1) /* unary */
-#define in_CONTRACT_DETAIL_PP_KEYWORD_IN_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_in /* nothing */
-#define in_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_IS_in (1) /* unary */
+#define in_BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_in /* nothing */
+#define in_BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IN_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_IN_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT, in)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IN_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK, in)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_FRONT, in)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IN_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IN_BACK, in)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/initialize.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/initialize.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/initialize.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS_initialize (1) /* unary */
-#define initialize_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_initialize /* nothing */
-#define initialize_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS_initialize (1) /* unary */
+#define initialize_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_initialize /* nothing */
+#define initialize_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT, initialize)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK, initialize)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT, initialize)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INITIALIZE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_BACK, initialize)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/out.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/out.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/out.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_OUT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_IS_out (1) /* unary */
-#define out_CONTRACT_DETAIL_PP_KEYWORD_OUT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_out /* nothing */
-#define out_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_IS_out (1) /* unary */
+#define out_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_out /* nothing */
+#define out_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_OUT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_OUT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT, out)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OUT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK, out)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_FRONT, out)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OUT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OUT_BACK, out)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/postcondition.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/postcondition.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/postcondition.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS_postcondition (1) /*unary*/
-#define postcondition_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS (1) /*unary*/
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_postcondition/*nothing*/
-#define postcondition_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE/*nothing*/
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS_postcondition (1) /* unary */
+#define postcondition_BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_postcondition /* nothing */
+#define postcondition_BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT, postcondition)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK, postcondition)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT, postcondition)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_POSTCONDITION_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_BACK, postcondition)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/precondition.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/precondition.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/precondition.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS_precondition (1) /* unary */
-#define precondition_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_precondition /*nothing*/
-#define precondition_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE /*nothing*/
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS_precondition (1) /* unary */
+#define precondition_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_precondition /* nothing */
+#define precondition_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT, precondition)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK, precondition)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_FRONT, precondition)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRECONDITION_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRECONDITION_BACK, precondition)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/requires.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/requires.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/contract/requires.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS_requires (1) /* unary */
-#define requires_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_requires /* nothing */
-#define requires_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS_requires (1) /* unary */
+#define requires_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_requires /* nothing */
+#define requires_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT, requires)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK, requires)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT, requires)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REQUIRES_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_BACK, requires)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/ptrdiff_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/ptrdiff_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/ptrdiff_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS_ptrdiff_t (1) /* unary */
-#define ptrdiff_t_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_ptrdiff_t /* nothing */
-#define ptrdiff_t_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS_ptrdiff_t (1) /* unary */
+#define ptrdiff_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_ptrdiff_t /* nothing */
+#define ptrdiff_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT, ptrdiff_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK, ptrdiff_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_FRONT, ptrdiff_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PTRDIFF_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PTRDIFF_T_BACK, ptrdiff_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/size_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/size_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cstddef/size_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS_size_t (1) /* unary */
-#define size_t_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_size_t /* nothing */
-#define size_t_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS_size_t (1) /* unary */
+#define size_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_size_t /* nothing */
+#define size_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT, size_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK, size_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_FRONT, size_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZE_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZE_T_BACK, size_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char16_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char16_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char16_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS_char16_t (1) /* unary */
-#define char16_t_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_char16_t /* nothing */
-#define char16_t_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS_char16_t (1) /* unary */
+#define char16_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_char16_t /* nothing */
+#define char16_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT, char16_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK, char16_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_FRONT, char16_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR16_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR16_T_BACK, char16_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char32_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char32_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/char32_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS_char32_t (1) /* unary */
-#define char32_t_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_char32_t /* nothing */
-#define char32_t_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS_char32_t (1) /* unary */
+#define char32_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_char32_t /* nothing */
+#define char32_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT, char32_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK, char32_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_FRONT, char32_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CHAR32_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CHAR32_T_BACK, char32_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/constexpr.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/constexpr.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/constexpr.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS_constexpr (1) /* unary */
-#define constexpr_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_constexpr /* nothing */
-#define constexpr_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS_constexpr (1) /* unary */
+#define constexpr_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_constexpr /* nothing */
+#define constexpr_BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT, constexpr)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK, constexpr)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_FRONT, constexpr)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_CONSTEXPR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CONSTEXPR_BACK, constexpr)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/cstddef/nullptr_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/cstddef/nullptr_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/cstddef/nullptr_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS_nullptr_t (1) /* unary */
-#define nullptr_t_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_nullptr_t /* nothing */
-#define nullptr_t_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS_nullptr_t (1) /* unary */
+#define nullptr_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_nullptr_t /* nothing */
+#define nullptr_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT, nullptr_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK, nullptr_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_FRONT, nullptr_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_T_BACK, nullptr_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/decltype.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/decltype.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/decltype.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS_decltype (1) /* unary */
-#define decltype_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_decltype /* nothing */
-#define decltype_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS_decltype (1) /* unary */
+#define decltype_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_decltype /* nothing */
+#define decltype_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT, decltype)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK, decltype)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_FRONT, decltype)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DECLTYPE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DECLTYPE_BACK, decltype)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/final.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/final.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/final.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FINAL_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS_final (1) /* unary */
-#define final_CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_final /* nothing */
-#define final_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS_final (1) /* unary */
+#define final_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_final /* nothing */
+#define final_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT, final)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FINAL_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK, final)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_FRONT, final)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FINAL_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FINAL_BACK, final)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/nullptr.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/nullptr.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/nullptr.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS_nullptr (1) /* unary */
-#define nullptr_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_nullptr /* nothing */
-#define nullptr_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS_nullptr (1) /* unary */
+#define nullptr_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_nullptr /* nothing */
+#define nullptr_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT, nullptr)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK, nullptr)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_FRONT, nullptr)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NULLPTR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NULLPTR_BACK, nullptr)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/override.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/override.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/override.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS_override (1) /* unary */
-#define override_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_override /* nothing */
-#define override_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS_override (1) /* unary */
+#define override_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_override /* nothing */
+#define override_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT, override)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK, override)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_FRONT, override)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OVERRIDE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OVERRIDE_BACK, override)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/static_assert.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/static_assert.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/cxx11/static_assert.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS_static_assert (1) /*unary*/
-#define static_assert_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS (1) /*unary*/
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_static_assert/*nothing*/
-#define static_assert_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE/*nothing*/
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS_static_assert (1) /* unary */
+#define static_assert_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_static_assert /* nothing */
+#define static_assert_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT, static_assert)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK, static_assert)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_FRONT, static_assert)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ASSERT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_ASSERT_BACK, static_assert)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/default.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/default.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/default.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS_default (1) /* unary */
-#define default_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_default /* nothing */
-#define default_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS_default (1) /* unary */
+#define default_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_default /* nothing */
+#define default_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, default)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, default)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, default)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, default)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/delete.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/delete.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/delete.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DELETE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS_delete (1) /* unary */
-#define delete_CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_delete /* nothing */
-#define delete_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS_delete (1) /* unary */
+#define delete_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_delete /* nothing */
+#define delete_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT, delete)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DELETE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK, delete)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_FRONT, delete)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DELETE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DELETE_BACK, delete)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/do.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/do.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/do.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DO_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_IS_do (1) /* unary */
-#define do_CONTRACT_DETAIL_PP_KEYWORD_DO_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_do /* nothing */
-#define do_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_IS_do (1) /* unary */
+#define do_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_do /* nothing */
+#define do_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DO_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DO_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT, do)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DO_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK, do)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_FRONT, do)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DO_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DO_BACK, do)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/double.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/double.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/double.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS_double (1) /* unary */
-#define double_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_double /* nothing */
-#define double_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS_double (1) /* unary */
+#define double_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_double /* nothing */
+#define double_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT, double)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK, double)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_FRONT, double)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DOUBLE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DOUBLE_BACK, double)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/dynamic_cast.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/dynamic_cast.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/dynamic_cast.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS_dynamic_cast (1) /* unary */
-#define dynamic_cast_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_dynamic_cast /*nothing*/
-#define dynamic_cast_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE /*nothing*/
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS_dynamic_cast (1) /* unary */
+#define dynamic_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_dynamic_cast /* nothing */
+#define dynamic_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT, dynamic_cast)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK, dynamic_cast)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_FRONT, dynamic_cast)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_DYNAMIC_CAST_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DYNAMIC_CAST_BACK, dynamic_cast)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/else.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/else.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/else.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_ELSE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS_else (1) /* unary */
-#define else_CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_else /* nothing */
-#define else_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS_else (1) /* unary */
+#define else_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_else /* nothing */
+#define else_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT, else)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ELSE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK, else)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_FRONT, else)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ELSE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ELSE_BACK, else)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/enum.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/enum.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/enum.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_ENUM_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS_enum (1) /* unary */
-#define enum_CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_enum /* nothing */
-#define enum_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS_enum (1) /* unary */
+#define enum_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_enum /* nothing */
+#define enum_BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT, enum)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_ENUM_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK, enum)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_FRONT, enum)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_ENUM_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_ENUM_BACK, enum)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/explicit.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/explicit.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/explicit.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS_explicit (1) /* unary */
-#define explicit_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_explicit /* nothing */
-#define explicit_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS_explicit (1) /* unary */
+#define explicit_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_explicit /* nothing */
+#define explicit_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT, explicit)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK, explicit)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_FRONT, explicit)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPLICIT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPLICIT_BACK, explicit)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/export.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/export.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/export.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_EXPORT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS_export (1) /* unary */
-#define export_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_export /* nothing */
-#define export_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS_export (1) /* unary */
+#define export_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_export /* nothing */
+#define export_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT, export)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXPORT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK, export)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_FRONT, export)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXPORT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXPORT_BACK, export)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/extern.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/extern.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/extern.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_EXTERN_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS_extern (1) /* unary */
-#define extern_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_extern /* nothing */
-#define extern_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS_extern (1) /* unary */
+#define extern_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_extern /* nothing */
+#define extern_BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT, extern)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_EXTERN_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK, extern)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_FRONT, extern)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_EXTERN_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_EXTERN_BACK, extern)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/add.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/add.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/add.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -5,19 +5,21 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 // Home at http://sourceforge.net/projects/contractpp
 
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
 
 #include <boost/preprocessor/control/expr_iif.hpp>
 #include <boost/preprocessor/logical/compl.hpp>
 
+// PUBLIC //
+
 // `is_front_macro(tokens)` is 1 if `tokens` start w/ `keyword` to add, else 0.
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT( \
         tokens, is_front_macro, keyword) \
     BOOST_PP_EXPR_IIF(BOOST_PP_COMPL(is_front_macro(tokens)), keyword) tokens
 
 // `is_back_macro(tokens)` is 1 if `tokens` end with `keyword` to add, else 0.
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK( \
         tokens, is_back_macro, keyword) \
     tokens BOOST_PP_EXPR_IIF(BOOST_PP_COMPL(is_back_macro(tokens)), keyword)
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/is.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/is.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/is.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -5,32 +5,32 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 // Home at http://sourceforge.net/projects/contractpp
 
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
 
-#include <contract/detail/preprocessor/punctuation/has_paren.hpp>
+#include <boost/contract/detail/preprocessor/punctuation/has_paren.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_(a, b) \
- CONTRACT_DETAIL_PP_HAS_PAREN(BOOST_PP_CAT(a, b))
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_(a, b) \
+ BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(BOOST_PP_CAT(a, b))
 
 // PUBLIC //
 
 // `checking_prefix ## tokens` expand to unary (e.g., `(1)`) iff `tokens` start
 // with keyword to check.
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT( \
         tokens, checking_prefix) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
         /* on MSVC this check works even if tokens already unary but on */ \
         /* C++03 (including GCC) this check on non-unary tokens gives */ \
         /* a concatenation error -- so return false is tokens is not unary */ \
         0 BOOST_PP_TUPLE_EAT(2) \
     , \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_ \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_ \
     )(checking_prefix, tokens)
 
 // `token ## checking_postfix` expand to unary (e.g., `(1)`) iff `token` is the
@@ -38,9 +38,9 @@
 // will always expand to 0 if token is multiple tokens (e.g., `const *this`).
 // This check will expand to 0 with no error if `token` starts with a
 // non-alphanumeric symbol (e.g., `*this`).
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK( \
         token, checking_postfix) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_(token, checking_postfix)
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_(token, checking_postfix)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/remove.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/remove.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/facilities/remove.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -5,8 +5,8 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 // Home at http://sourceforge.net/projects/contractpp
 
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
 
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
@@ -18,25 +18,25 @@
 // From PP_EXPAND (my own reentrant version).
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && \
         ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x)
+# define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x)
 #else
-# define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_((x))
-# define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_( \
+# define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_((x))
+# define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_( \
             par) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_ ## par
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_ ## par
 #endif
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x) x
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x) x
 
 // PUBLIC //
 
 // `is_front_macro(tokens)` is 1 if `tokens` start with keyword to remove.
 // `removing_prefix ## <keyword-to-remove>` must expand to nothing, else 0.
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT( \
         tokens, is_front_macro, removing_prefix) \
     /* without EXPAND doesn't expand on MSVC */ \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_( \
         BOOST_PP_IIF(is_front_macro(tokens), \
             BOOST_PP_CAT \
         , \
@@ -46,7 +46,7 @@
 
 // `is_back_macro(tokens)` is 1 iff `tokens` end with keyword to remove.
 // `<keyword-to-remove> ## removing_postfix` must expand to nothing, else 0.
-#define CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK( \
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK( \
         tokens, is_back_macro, removing_prefix) \
     BOOST_PP_IIF(is_back_macro(tokens), \
         BOOST_PP_CAT \

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/false.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/false.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/false.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FALSE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS_false (1) /* unary */
-#define false_CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_false /* nothing */
-#define false_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS_false (1) /* unary */
+#define false_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_false /* nothing */
+#define false_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT, false)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FALSE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK, false)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_FRONT, false)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FALSE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FALSE_BACK, false)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/float.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/float.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/float.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FLOAT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS_float (1) /* unary */
-#define float_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_float /* nothing */
-#define float_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS_float (1) /* unary */
+#define float_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_float /* nothing */
+#define float_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT, float)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FLOAT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK, float)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_FRONT, float)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FLOAT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FLOAT_BACK, float)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/for.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/for.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/for.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FOR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_IS_for (1) /* unary */
-#define for_CONTRACT_DETAIL_PP_KEYWORD_FOR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_for /* nothing */
-#define for_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_IS_for (1) /* unary */
+#define for_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_for /* nothing */
+#define for_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_FOR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_FOR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT, for)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FOR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK, for)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_FRONT, for)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FOR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FOR_BACK, for)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/friend.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/friend.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/friend.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_FRIEND_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS_friend (1) /* unary */
-#define friend_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_friend /* nothing */
-#define friend_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS_friend (1) /* unary */
+#define friend_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_friend /* nothing */
+#define friend_BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT, friend)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_FRIEND_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK, friend)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_FRONT, friend)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_FRIEND_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_FRIEND_BACK, friend)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/goto.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/goto.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/goto.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_GOTO_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS_goto (1) /* unary */
-#define goto_CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_goto /* nothing */
-#define goto_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS_goto (1) /* unary */
+#define goto_BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_goto /* nothing */
+#define goto_BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT, goto)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_GOTO_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK, goto)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_FRONT, goto)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_GOTO_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_GOTO_BACK, goto)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/if.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/if.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/if.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_IF_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_IS_if (1) /* unary */
-#define if_CONTRACT_DETAIL_PP_KEYWORD_IF_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_if /* nothing */
-#define if_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_IS_if (1) /* unary */
+#define if_BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_if /* nothing */
+#define if_BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IF_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_IF_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT, if)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IF_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK, if)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT, if)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IF_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_BACK, if)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/inline.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/inline.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/inline.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_INLINE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS_inline (1) /* unary */
-#define inline_CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_inline /* nothing */
-#define inline_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS_inline (1) /* unary */
+#define inline_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_inline /* nothing */
+#define inline_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, inline)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INLINE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK, inline)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, inline)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INLINE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INLINE_BACK, inline)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/int.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/int.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/int.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_INT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_IS_int (1) /* unary */
-#define int_CONTRACT_DETAIL_PP_KEYWORD_INT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_int /* nothing */
-#define int_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_IS_int (1) /* unary */
+#define int_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_int /* nothing */
+#define int_BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_INT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_INT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT, int)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_INT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK, int)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_FRONT, int)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_INT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INT_BACK, int)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/long.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/long.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/long.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_LONG_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_IS_long (1) /* unary */
-#define long_CONTRACT_DETAIL_PP_KEYWORD_LONG_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_long /* nothing */
-#define long_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_IS_long (1) /* unary */
+#define long_BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_long /* nothing */
+#define long_BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_LONG_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_LONG_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT, long)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_LONG_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK, long)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_FRONT, long)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_LONG_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_LONG_BACK, long)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/mutable.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/mutable.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/mutable.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS_mutable (1) /* unary */
-#define mutable_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_mutable /* nothing */
-#define mutable_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS_mutable (1) /* unary */
+#define mutable_BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_mutable /* nothing */
+#define mutable_BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT, mutable)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK, mutable)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_FRONT, mutable)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_MUTABLE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_MUTABLE_BACK, mutable)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/namespace.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/namespace.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/namespace.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS_namespace (1) /* unary */
-#define namespace_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_namespace /* nothing */
-#define namespace_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS_namespace (1) /* unary */
+#define namespace_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_namespace /* nothing */
+#define namespace_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT, namespace)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK, namespace)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_FRONT, namespace)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NAMESPACE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NAMESPACE_BACK, namespace)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/new.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/new.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/new.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NEW_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_IS_new (1) /* unary */
-#define new_CONTRACT_DETAIL_PP_KEYWORD_NEW_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_new /* nothing */
-#define new_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_IS_new (1) /* unary */
+#define new_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_new /* nothing */
+#define new_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NEW_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NEW_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT, new)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NEW_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK, new)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_FRONT, new)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NEW_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NEW_BACK, new)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/not.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/not.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/not.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NOT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_IS_not (1) /* unary */
-#define not_CONTRACT_DETAIL_PP_KEYWORD_NOT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_not /* nothing */
-#define not_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_IS_not (1) /* unary */
+#define not_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_not /* nothing */
+#define not_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NOT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NOT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT, not)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK, not)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_FRONT, not)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_BACK, not)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/not_eq.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/not_eq.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/not_eq.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS_not_eq (1) /* unary */
-#define not_eq_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_not_eq /* nothing */
-#define not_eq_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS_not_eq (1) /* unary */
+#define not_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_not_eq /* nothing */
+#define not_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT, not_eq)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK, not_eq)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_FRONT, not_eq)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_NOT_EQ_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_NOT_EQ_BACK, not_eq)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/operator.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/operator.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/operator.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS_operator (1) /* unary */
-#define operator_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_operator /* nothing */
-#define operator_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS_operator (1) /* unary */
+#define operator_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_operator /* nothing */
+#define operator_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT, operator)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK, operator)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_FRONT, operator)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OPERATOR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OPERATOR_BACK, operator)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/or.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/or.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/or.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_OR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_IS_or (1) /* unary */
-#define or_CONTRACT_DETAIL_PP_KEYWORD_OR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_or /* nothing */
-#define or_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_IS_or (1) /* unary */
+#define or_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_or /* nothing */
+#define or_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_OR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_OR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT, or)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK, or)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_FRONT, or)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_BACK, or)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/or_eq.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/or_eq.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/or_eq.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS_or_eq (1) /* unary */
-#define or_eq_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_or_eq /* nothing */
-#define or_eq_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS_or_eq (1) /* unary */
+#define or_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_or_eq /* nothing */
+#define or_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT, or_eq)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK, or_eq)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_FRONT, or_eq)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_OR_EQ_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_OR_EQ_BACK, or_eq)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/private.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/private.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/private.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS_private (1) /* unary */
-#define private_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_private /* nothing */
-#define private_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS_private (1) /* unary */
+#define private_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_private /* nothing */
+#define private_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT, private)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK, private)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_FRONT, private)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PRIVATE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PRIVATE_BACK, private)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/protected.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/protected.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/protected.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS_protected (1) /* unary */
-#define protected_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_protected /* nothing */
-#define protected_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS_protected (1) /* unary */
+#define protected_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_protected /* nothing */
+#define protected_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT, protected)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK, protected)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_FRONT, protected)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PROTECTED_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PROTECTED_BACK, protected)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/public.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/public.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/public.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS_public (1) /* unary */
-#define public_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_public /* nothing */
-#define public_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS_public (1) /* unary */
+#define public_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_public /* nothing */
+#define public_BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT, public)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK, public)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_FRONT, public)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_PUBLIC_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_PUBLIC_BACK, public)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/register.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/register.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/register.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_REGISTER_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS_register (1) /* unary */
-#define register_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_register /* nothing */
-#define register_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS_register (1) /* unary */
+#define register_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_register /* nothing */
+#define register_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, register)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REGISTER_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, register)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, register)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REGISTER_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, register)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/reinterpret_cast.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/reinterpret_cast.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/reinterpret_cast.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,62 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS_reinterpret_cast \
- (1) /* unary */
-#define reinterpret_cast_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS \
- (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_reinterpret_cast \
- /* nothing */
-#define reinterpret_cast_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE \
- /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS_reinterpret_cast (1) /* unary */
+#define reinterpret_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_reinterpret_cast /* nothing */
+#define reinterpret_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT, reinterpret_cast)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK, reinterpret_cast)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_FRONT, reinterpret_cast)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_REINTERPRET_CAST_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REINTERPRET_CAST_BACK, reinterpret_cast)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/return.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/return.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/return.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_RETURN_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS_return (1) /* unary */
-#define return_CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_return /* nothing */
-#define return_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS_return (1) /* unary */
+#define return_BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_return /* nothing */
+#define return_BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, return)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_RETURN_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK, return)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, return)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_RETURN_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_RETURN_BACK, return)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/short.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/short.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/short.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_SHORT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS_short (1) /* unary */
-#define short_CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_short /* nothing */
-#define short_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS_short (1) /* unary */
+#define short_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_short /* nothing */
+#define short_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT, short)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SHORT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK, short)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_FRONT, short)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SHORT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SHORT_BACK, short)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/signed.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/signed.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/signed.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_SIGNED_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS_signed (1) /* unary */
-#define signed_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_signed /* nothing */
-#define signed_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS_signed (1) /* unary */
+#define signed_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_signed /* nothing */
+#define signed_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT, signed)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIGNED_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK, signed)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_FRONT, signed)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIGNED_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIGNED_BACK, signed)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/sizeof.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/sizeof.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/sizeof.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS_sizeof (1) /* unary */
-#define sizeof_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_sizeof /* nothing */
-#define sizeof_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS_sizeof (1) /* unary */
+#define sizeof_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_sizeof /* nothing */
+#define sizeof_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT, sizeof)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK, sizeof)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_FRONT, sizeof)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SIZEOF_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SIZEOF_BACK, sizeof)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/static.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/static.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/static.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_STATIC_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS_static (1) /* unary */
-#define static_CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_static /* nothing */
-#define static_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS_static (1) /* unary */
+#define static_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_static /* nothing */
+#define static_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT, static)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK, static)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_FRONT, static)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_BACK, static)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/static_cast.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/static_cast.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/static_cast.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS_static_cast (1) /* unary */
-#define static_cast_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_static_cast /* nothing */
-#define static_cast_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS_static_cast (1) /* unary */
+#define static_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_static_cast /* nothing */
+#define static_cast_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT, static_cast)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK, static_cast)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_FRONT, static_cast)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STATIC_CAST_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STATIC_CAST_BACK, static_cast)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/struct.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/struct.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/struct.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_STRUCT_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS_struct (1) /* unary */
-#define struct_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_struct /* nothing */
-#define struct_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS_struct (1) /* unary */
+#define struct_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_struct /* nothing */
+#define struct_BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT, struct)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_STRUCT_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK, struct)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_FRONT, struct)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_STRUCT_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_STRUCT_BACK, struct)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/switch.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/switch.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/switch.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_SWITCH_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS_switch (1) /* unary */
-#define switch_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_switch /* nothing */
-#define switch_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS_switch (1) /* unary */
+#define switch_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_switch /* nothing */
+#define switch_BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT, switch)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_SWITCH_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK, switch)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_FRONT, switch)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_SWITCH_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_SWITCH_BACK, switch)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/template.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/template.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/template.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS_template (1) /* unary */
-#define template_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_template /* nothing */
-#define template_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS_template (1) /* unary */
+#define template_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_template /* nothing */
+#define template_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT, template)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK, template)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_FRONT, template)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TEMPLATE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TEMPLATE_BACK, template)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/this.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/this.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/this.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_THIS_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_IS_this (1) /* unary */
-#define this_CONTRACT_DETAIL_PP_KEYWORD_THIS_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_this /* nothing */
-#define this_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_IS_this (1) /* unary */
+#define this_BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_this /* nothing */
+#define this_BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_THIS_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_THIS_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT, this)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_THIS_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK, this)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_FRONT, this)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THIS_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THIS_BACK, this)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/throw.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/throw.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/throw.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_THROW_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_IS_throw (1) /* unary */
-#define throw_CONTRACT_DETAIL_PP_KEYWORD_THROW_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_throw /* nothing */
-#define throw_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_IS_throw (1) /* unary */
+#define throw_BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_throw /* nothing */
+#define throw_BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_THROW_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_THROW_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT, throw)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_THROW_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK, throw)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_FRONT, throw)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_THROW_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_THROW_BACK, throw)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/true.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/true.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/true.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TRUE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS_true (1) /* unary */
-#define true_CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_true /* nothing */
-#define true_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS_true (1) /* unary */
+#define true_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_true /* nothing */
+#define true_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT, true)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TRUE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK, true)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_FRONT, true)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRUE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRUE_BACK, true)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/try.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/try.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/try.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TRY_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_IS_try (1) /* unary */
-#define try_CONTRACT_DETAIL_PP_KEYWORD_TRY_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_try /* nothing */
-#define try_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_IS_try (1) /* unary */
+#define try_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_try /* nothing */
+#define try_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TRY_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TRY_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT, try)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TRY_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK, try)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_FRONT, try)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TRY_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TRY_BACK, try)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/typedef.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/typedef.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/typedef.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS_typedef (1) /* unary */
-#define typedef_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_typedef /* nothing */
-#define typedef_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS_typedef (1) /* unary */
+#define typedef_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_typedef /* nothing */
+#define typedef_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT, typedef)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK, typedef)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_FRONT, typedef)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEDEF_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEDEF_BACK, typedef)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/typeid.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/typeid.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/typeid.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TYPEID_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS_typeid (1) /* unary */
-#define typeid_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_typeid /* nothing */
-#define typeid_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS_typeid (1) /* unary */
+#define typeid_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_typeid /* nothing */
+#define typeid_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT, typeid)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPEID_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK, typeid)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_FRONT, typeid)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPEID_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPEID_BACK, typeid)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/typename.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/typename.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/typename.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS_typename (1) /* unary */
-#define typename_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_typename /* nothing */
-#define typename_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS_typename (1) /* unary */
+#define typename_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_typename /* nothing */
+#define typename_BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT, typename)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK, typename)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_FRONT, typename)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_TYPENAME_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_TYPENAME_BACK, typename)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/union.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/union.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/union.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_UNION_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_IS_union (1) /* unary */
-#define union_CONTRACT_DETAIL_PP_KEYWORD_UNION_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_union /* nothing */
-#define union_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_IS_union (1) /* unary */
+#define union_BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_union /* nothing */
+#define union_BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_UNION_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_UNION_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT, union)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_UNION_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK, union)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_FRONT, union)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNION_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNION_BACK, union)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/unsigned.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/unsigned.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/unsigned.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS_unsigned (1) /* unary */
-#define unsigned_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_unsigned /* nothing */
-#define unsigned_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS_unsigned (1) /* unary */
+#define unsigned_BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_unsigned /* nothing */
+#define unsigned_BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT, unsigned)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK, unsigned)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_FRONT, unsigned)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_UNSIGNED_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_UNSIGNED_BACK, unsigned)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/using.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/using.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/using.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_USING_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_IS_using (1) /* unary */
-#define using_CONTRACT_DETAIL_PP_KEYWORD_USING_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_using /* nothing */
-#define using_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_IS_using (1) /* unary */
+#define using_BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_using /* nothing */
+#define using_BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_USING_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_USING_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT, using)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_USING_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK, using)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_FRONT, using)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_USING_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_USING_BACK, using)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/virtual.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/virtual.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/virtual.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS_virtual (1) /* unary */
-#define virtual_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_virtual /* nothing */
-#define virtual_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS_virtual (1) /* unary */
+#define virtual_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_virtual /* nothing */
+#define virtual_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT, virtual)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK, virtual)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_FRONT, virtual)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VIRTUAL_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VIRTUAL_BACK, virtual)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/void.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/void.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/void.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_VOID_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_IS_void (1) /* unary */
-#define void_CONTRACT_DETAIL_PP_KEYWORD_VOID_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_void /* nothing */
-#define void_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_IS_void (1) /* unary */
+#define void_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_void /* nothing */
+#define void_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_VOID_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_VOID_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT, void)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VOID_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK, void)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT, void)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOID_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_BACK, void)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/volatile.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/volatile.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/volatile.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS_volatile (1) /* unary */
-#define volatile_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_volatile /* nothing */
-#define volatile_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS_volatile (1) /* unary */
+#define volatile_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_volatile /* nothing */
+#define volatile_BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT, volatile)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK, volatile)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_FRONT, volatile)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_VOLATILE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOLATILE_BACK, volatile)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/wchar_t.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/wchar_t.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/wchar_t.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS_wchar_t (1) /* unary */
-#define wchar_t_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_wchar_t /* nothing */
-#define wchar_t_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS_wchar_t (1) /* unary */
+#define wchar_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_wchar_t /* nothing */
+#define wchar_t_BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT, wchar_t)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK, wchar_t)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_FRONT, wchar_t)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WCHAR_T_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WCHAR_T_BACK, wchar_t)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/while.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/while.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/while.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_WHILE_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS_while (1) /* unary */
-#define while_CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_while /* nothing */
-#define while_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS_while (1) /* unary */
+#define while_BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_while /* nothing */
+#define while_BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT, while)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_WHILE_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK, while)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_FRONT, while)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_WHILE_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_WHILE_BACK, while)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/xor.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/xor.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/xor.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_XOR_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_IS_xor (1) /* unary */
-#define xor_CONTRACT_DETAIL_PP_KEYWORD_XOR_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_xor /* nothing */
-#define xor_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_IS_xor (1) /* unary */
+#define xor_BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_xor /* nothing */
+#define xor_BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_XOR_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_XOR_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT, xor)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK, xor)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_FRONT, xor)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_BACK, xor)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/keyword/xor_eq.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/keyword/xor_eq.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/keyword/xor_eq.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,58 +1,57 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_HPP_
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_HPP_
-
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/add.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+/**************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "keyword/generate.py" */
+/**************************************************************/
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_HPP_
+
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/add.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS_xor_eq (1) /* unary */
-#define xor_eq_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS (1) /* unary */
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_xor_eq /* nothing */
-#define xor_eq_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE /* nothing */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS_xor_eq (1) /* unary */
+#define xor_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS (1) /* unary */
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_xor_eq /* nothing */
+#define xor_eq_BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK(token) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK(token) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_IS)
 
 // Remove.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT, \
- CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK, \
- _CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK, \
+ _BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_REMOVE)
 
 // Add.
 
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_ADD_FRONT(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT, xor_eq)
-
-#define CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_ADD_BACK(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK, xor_eq)
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_ADD_FRONT(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_FRONT, xor_eq)
+
+#define BOOST_CONTRACT_DETAIL_PP_KEYWORD_XOR_EQ_ADD_BACK(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_XOR_EQ_BACK, xor_eq)
 
 #endif // #include guard
 

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,18 +1,13 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
 // Used maximum number of iterations: 1
 
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_HPP_
+
 #include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/arithmetic/inc.hpp>
 #include <boost/preprocessor/array/data.hpp>
@@ -26,23 +21,30 @@
 
 // From BOOST_PP_ARRAY_PUSH_BACK.
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
                 BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
 #else
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_(array, elem)
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_(array, elem)
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
                 BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
 #endif
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_(size, data, elem) \
- (BOOST_PP_INC(size), \
- (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem))
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
+ size, data, elem) \
+ ( \
+ BOOST_PP_INC(size) \
+ , \
+ (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem) \
+ )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_INIT( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_INIT( \
         traits_sign, trait_macro, sign_macro) \
     ( \
         ( 1 /* create 1-array */, ( trait_macro( \
@@ -53,10 +55,10 @@
 
 // Expand to next `traits_sign` applying `trait_macro(sign)` and
 // `sign_macro(macro)`.
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY( \
         traits_sign, trait_macro, sign_macro) \
     ( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_( \
                 BOOST_PP_TUPLE_ELEM(2, 0, traits_sign), \
                 trait_macro(BOOST_PP_TUPLE_ELEM(2, 1, traits_sign))) \
     , \

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply_1.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply_1.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/apply_1.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,18 +1,13 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
 // Used maximum number of iterations: 1
 
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1_HPP_
+
 #include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/arithmetic/inc.hpp>
 #include <boost/preprocessor/array/data.hpp>
@@ -26,23 +21,30 @@
 
 // From BOOST_PP_ARRAY_PUSH_BACK.
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
                 BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
 #else
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_1_(array, elem)
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_1_(array, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_1_(array, elem)
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_D_1_( \
+ array, elem) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_( \
                 BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
 #endif
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_1_(size, data, elem) \
- (BOOST_PP_INC(size), \
- (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem))
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_I_1_( \
+ size, data, elem) \
+ ( \
+ BOOST_PP_INC(size) \
+ , \
+ (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem) \
+ )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_INIT_1( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_INIT_1( \
         traits_sign, trait_macro, sign_macro) \
     ( \
         ( 1 /* create 1-array */, ( trait_macro( \
@@ -53,10 +55,10 @@
 
 // Expand to next `traits_sign` applying `trait_macro(sign)` and
 // `sign_macro(macro)`.
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY_1( \
         traits_sign, trait_macro, sign_macro) \
     ( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ARRAY_PUSH_BACK_1_( \
                 BOOST_PP_TUPLE_ELEM(2, 0, traits_sign), \
                 trait_macro(BOOST_PP_TUPLE_ELEM(2, 1, traits_sign))) \
     , \

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,24 +1,19 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
 // Used maximum number of iterations: 1
 
-#include <contract/aux_/config.hpp>
-#include <contract/detail/preprocessor/punctuation/has_paren.hpp>
-#include <contract/detail/preprocessor/keyword/default.hpp>
-#include <contract/detail/preprocessor/keyword/void.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_HPP_
+
+#include <boost/contract/aux_/config.hpp>
+#include <boost/contract/detail/preprocessor/punctuation/has_paren.hpp>
+#include <boost/contract/detail/preprocessor/keyword/default.hpp>
+#include <boost/contract/detail/preprocessor/keyword/void.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 #include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
@@ -30,45 +25,51 @@
 
 // PRIVATE //
 
-#define CHECK_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE (1)
-#define ERASE_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE /* nothing */
-
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_(tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+#define CHECK_BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE (1)
+#define ERASE_BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE \
+ /* nothing */
+
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_( \
+ tokens) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
         0 BOOST_PP_TUPLE_EAT(2) \
     , \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT \
     )(tokens, CHECK_)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_, ERASE_)
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_( \
+ tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_, \
+ ERASE_)
 
 // From PP_EXPAND (my own reentrant version).
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_(x) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_(x)
+#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && \
+ ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_(x) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_(x)
 #else
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_(x) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_((x))
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_(par) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_ ## par
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_(x) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_((x))
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_(par) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_ ## par
 #endif
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_(x) x
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_(x) x
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_( \
         s, elem, list, last_default, elem_macro) \
     ( \
         list /* unchanged list */ \
     , \
         /* set last-default */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_COMMA(BOOST_PP_TUPLE_REM(1), \
- CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(elem)) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_COMMA(BOOST_PP_TUPLE_REM(1), \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(elem)) \
     , \
         elem_macro /* unchanged op-macro */ \
     ) \
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_( \
         s, elem, list, last_default, elem_macro) \
     ( \
         /* append elem_macro(elem) (in front because FOLD_RIGHT) */ \
@@ -86,26 +87,36 @@
         elem_macro /* unchanged op-macro */ \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_( \
         s, list_lastdefault_macro, elem) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(elem), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(elem), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_\
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_ \
     )(s, elem, \
             BOOST_PP_TUPLE_ELEM(3, 0, list_lastdefault_macro), \
             BOOST_PP_TUPLE_ELEM(3, 1, list_lastdefault_macro), \
             BOOST_PP_TUPLE_ELEM(3, 2, list_lastdefault_macro))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_(seq, elem_macro) \
- BOOST_PP_TUPLE_ELEM(3, 0, CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_(\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_( \
+ seq, elem_macro) \
+ BOOST_PP_TUPLE_ELEM( \
+ 3 \
+ , 0 \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_( \
             BOOST_PP_SEQ_FOLD_RIGHT( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_, \
- ( BOOST_PP_NIL, \
- (0, ()), /* no last-default to start */ \
- elem_macro ), seq)))
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ \
+ , ( \
+ BOOST_PP_NIL
+ , (0, ()) /* no last-default to start */ \
+ , elem_macro \
+ ) \
+ , seq \
+ ) \
+ ) \
+ )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_( \
         s, elem, list, elem_macro) \
     ( \
         BOOST_PP_LIST_APPEND( \
@@ -116,27 +127,28 @@
         elem_macro /* unchanged op-macro */ \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_( \
         s, list_macro, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_(s, elem, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_( \
+ s, elem, \
             BOOST_PP_TUPLE_ELEM(2, 0, list_macro), \
             BOOST_PP_TUPLE_ELEM(2, 1, list_macro))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_( \
         seq, elem_macro) \
     BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_SEQ_FOLD_RIGHT( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_,\
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_, \
             ( BOOST_PP_NIL, elem_macro ), seq))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_( \
         seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(with_defaults, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_ \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_ \
     )(seq, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_( \
         seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(allow_empty, \
         BOOST_PP_NIL /* nil list */ \
@@ -145,107 +157,113 @@
         BOOST_PP_ASSERT_MSG /* error */ \
     )(0, ERROR_unexpected_empty_token_list)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_( \
         seq) \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(BOOST_PP_SEQ_HEAD(seq))
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(BOOST_PP_SEQ_HEAD(seq))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_(seq) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_( \
+ seq) \
     BOOST_PP_IIF(BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(seq), 1), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_ \
     , \
         0 BOOST_PP_TUPLE_EAT(1) \
     )(seq)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_(void_or_seq) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(void_or_seq), \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_( \
+ void_or_seq) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(void_or_seq), \
         1 BOOST_PP_TUPLE_EAT(1) \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_ \
     )(void_or_seq)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
         void_or_seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(BOOST_PP_EXPAND( /* expand for MSVC */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_( \
                     void_or_seq)), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_ \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_ \
     )(void_or_seq, allow_empty, with_defaults, elem_macro)
 
 #ifndef BOOST_NO_VARIADIC_MACROS
-# include <contract/detail/preprocessor/variadic/to_seq.hpp>
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_(...) \
- CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) \
+# include <boost/contract/detail/preprocessor/variadic/to_seq.hpp>
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_(...) \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) \
         , /* split into 2-tuple `(seq_from(__VA_ARGS__), following_tokens)` */
 #else // variadics
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_(seq) \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_(seq) \
         seq \
         , /* split into 2-tuple `(seq_from(__VA_ARGS__), following_tokens)` */
 #endif // variadics
 
 // Expand from paren_tokens `(a, b, ...) tokens...` (variadics) or
 // `( (a) (b) ... ) tokens...` to `(a) (b) ...`.
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_(paren_tokens) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_(paren_tokens) \
     BOOST_PP_TUPLE_ELEM(2, 0, \
         ( /* split expand to 2-tuple `(seq, ignore_tokens)` */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_ paren_tokens \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_ \
+ paren_tokens \
         ) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_( \
         tokens, allow_empty, with_defaults, remove_tag_macro, elem_macro) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_( \
             remove_tag_macro(tokens)), \
             allow_empty, with_defaults, elem_macro)
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST(tokens, \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST(tokens, \
         allow_empty, with_defaults, \
         is_tagged_macro, remove_tag_macro, elem_macro) \
     BOOST_PP_IIF(is_tagged_macro(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_ \
     , \
         BOOST_PP_NIL /* nil list */ \
         BOOST_PP_TUPLE_EAT(5) \
     )(tokens, allow_empty, with_defaults, remove_tag_macro, elem_macro)
 
 #ifndef BOOST_NO_VARIADIC_MACROS
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE(...) /*nothing*/
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE(...) \
+ /* nothing */
 #else // variadics
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE(seq) /*nothing*/
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE(seq) \
+ /* nothing */
 #endif // variadics
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TAGGED_LIST( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TAGGED_LIST( \
         tokens, is_tagged_macro, removing_prefix) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
             is_tagged_macro, removing_prefix)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST(tokens, \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST(tokens, \
         allow_empty, with_defaults, elem_macro) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_(tokens), \
             allow_empty, with_defaults, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST(tokens) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE tokens \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE tokens \
     ))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_OPTIONAL_LIST( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_OPTIONAL_LIST( \
         tokens, allow_empty, with_defaults, elem_macro) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST /* list present */ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST /* list present */ \
     , \
         BOOST_PP_NIL BOOST_PP_TUPLE_EAT(4) /* expand to nil pp-list */ \
     )(tokens, allow_empty, with_defaults, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_OPTIONAL_LIST(tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST /* list present */ \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_OPTIONAL_LIST(tokens) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST /* list present */ \
     , \
         tokens BOOST_PP_TUPLE_EAT(1) /* expand to tokens */ \
     )(tokens)

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list_1.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list_1.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/list_1.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,24 +1,19 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
 // Used maximum number of iterations: 1
 
-#include <contract/aux_/config.hpp>
-#include <contract/detail/preprocessor/punctuation/has_paren.hpp>
-#include <contract/detail/preprocessor/keyword/default.hpp>
-#include <contract/detail/preprocessor/keyword/void.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/is.hpp>
-#include <contract/detail/preprocessor/keyword/facilities/remove.hpp>
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1_HPP_
+
+#include <boost/contract/aux_/config.hpp>
+#include <boost/contract/detail/preprocessor/punctuation/has_paren.hpp>
+#include <boost/contract/detail/preprocessor/keyword/default.hpp>
+#include <boost/contract/detail/preprocessor/keyword/void.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/is.hpp>
+#include <boost/contract/detail/preprocessor/keyword/facilities/remove.hpp>
 #include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
@@ -30,45 +25,51 @@
 
 // PRIVATE //
 
-#define CHECK_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 (1)
-#define ERASE_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 /* nothing */
-
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_1_(tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+#define CHECK_BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 (1)
+#define ERASE_BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 \
+ /* nothing */
+
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_1_( \
+ tokens) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
         0 BOOST_PP_TUPLE_EAT(2) \
     , \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT \
     )(tokens, CHECK_)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_1_(tokens) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_1_, ERASE_)
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_1_( \
+ tokens) \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_CHECK_1_, \
+ ERASE_)
 
 // From PP_EXPAND (my own reentrant version).
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_(x) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_(x)
+#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && \
+ ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_(x) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_(x)
 #else
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_(x) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_1_((x))
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_1_(par) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_ ## par
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_(x) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_1_((x))
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_OO_1_(par) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_ ## par
 #endif
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_(x) x
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_I_1_(x) x
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_1_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_1_( \
         s, elem, list, last_default, elem_macro) \
     ( \
         list /* unchanged list */ \
     , \
         /* set last-default */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_COMMA(BOOST_PP_TUPLE_REM(1), \
- CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(elem)) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_COMMA(BOOST_PP_TUPLE_REM(1), \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(elem)) \
     , \
         elem_macro /* unchanged op-macro */ \
     ) \
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_1_( \
         s, elem, list, last_default, elem_macro) \
     ( \
         /* append elem_macro(elem) (in front because FOLD_RIGHT) */ \
@@ -86,26 +87,36 @@
         elem_macro /* unchanged op-macro */ \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_1_( \
         s, list_lastdefault_macro, elem) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(elem), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_1_ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(elem), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_LASTDFLT_1_\
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_ELEM_1_ \
     )(s, elem, \
             BOOST_PP_TUPLE_ELEM(3, 0, list_lastdefault_macro), \
             BOOST_PP_TUPLE_ELEM(3, 1, list_lastdefault_macro), \
             BOOST_PP_TUPLE_ELEM(3, 2, list_lastdefault_macro))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_1_(seq, elem_macro) \
- BOOST_PP_TUPLE_ELEM(3, 0, CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_(\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_1_( \
+ seq, elem_macro) \
+ BOOST_PP_TUPLE_ELEM( \
+ 3 \
+ , 0 \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_( \
             BOOST_PP_SEQ_FOLD_RIGHT( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_1_, \
- ( BOOST_PP_NIL, \
- (0, ()), /* no last-default to start */ \
- elem_macro ), seq)))
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_OP_1_ \
+ , ( \
+ BOOST_PP_NIL
+ , (0, ()) /* no last-default to start */ \
+ , elem_macro \
+ ) \
+ , seq \
+ ) \
+ ) \
+ )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_1_( \
         s, elem, list, elem_macro) \
     ( \
         BOOST_PP_LIST_APPEND( \
@@ -116,27 +127,28 @@
         elem_macro /* unchanged op-macro */ \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_1_( \
         s, list_macro, elem) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_1_(s, elem, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_ELEM_1_( \
+ s, elem, \
             BOOST_PP_TUPLE_ELEM(2, 0, list_macro), \
             BOOST_PP_TUPLE_ELEM(2, 1, list_macro))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_1_( \
         seq, elem_macro) \
     BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_SEQ_FOLD_RIGHT( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_1_,\
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_OP_1_, \
             ( BOOST_PP_NIL, elem_macro ), seq))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_1_( \
         seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(with_defaults, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_DFLT_1_ \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NODFLT_1_ \
     )(seq, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_1_( \
         seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(allow_empty, \
         BOOST_PP_NIL /* nil list */ \
@@ -145,107 +157,113 @@
         BOOST_PP_ASSERT_MSG /* error */ \
     )(0, ERROR_unexpected_empty_token_list)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_1_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_1_( \
         seq) \
- CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(BOOST_PP_SEQ_HEAD(seq))
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(BOOST_PP_SEQ_HEAD(seq))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_1_(seq) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_1_( \
+ seq) \
     BOOST_PP_IIF(BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(seq), 1), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_HEAD_1_ \
     , \
         0 BOOST_PP_TUPLE_EAT(1) \
     )(seq)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_1_(void_or_seq) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(void_or_seq), \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_1_( \
+ void_or_seq) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_VOID_FRONT(void_or_seq), \
         1 BOOST_PP_TUPLE_EAT(1) \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_CHECK_1_ \
     )(void_or_seq)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
         void_or_seq, allow_empty, with_defaults, elem_macro) \
     BOOST_PP_IIF(BOOST_PP_EXPAND( /* expand for MSVC */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_IS_EMPTY_1_( \
                     void_or_seq)), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_EMPTY_1_ \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_NOTEMPTY_1_ \
     )(void_or_seq, allow_empty, with_defaults, elem_macro)
 
 #ifndef BOOST_NO_VARIADIC_MACROS
-# include <contract/detail/preprocessor/variadic/to_seq.hpp>
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_(...) \
- CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) \
+# include <boost/contract/detail/preprocessor/variadic/to_seq.hpp>
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_(...) \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) \
         , /* split into 2-tuple `(seq_from(__VA_ARGS__), following_tokens)` */
 #else // variadics
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_(seq) \
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_(seq) \
         seq \
         , /* split into 2-tuple `(seq_from(__VA_ARGS__), following_tokens)` */
 #endif // variadics
 
 // Expand from paren_tokens `(a, b, ...) tokens...` (variadics) or
 // `( (a) (b) ... ) tokens...` to `(a) (b) ...`.
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_(paren_tokens) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_(paren_tokens) \
     BOOST_PP_TUPLE_ELEM(2, 0, \
         ( /* split expand to 2-tuple `(seq, ignore_tokens)` */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_ paren_tokens \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_SPLIT_SEQ_1_ \
+ paren_tokens \
         ) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1_( \
         tokens, allow_empty, with_defaults, remove_tag_macro, elem_macro) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_( \
             remove_tag_macro(tokens)), \
             allow_empty, with_defaults, elem_macro)
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1(tokens, \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1(tokens, \
         allow_empty, with_defaults, \
         is_tagged_macro, remove_tag_macro, elem_macro) \
     BOOST_PP_IIF(is_tagged_macro(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1_ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_1_ \
     , \
         BOOST_PP_NIL /* nil list */ \
         BOOST_PP_TUPLE_EAT(5) \
     )(tokens, allow_empty, with_defaults, remove_tag_macro, elem_macro)
 
 #ifndef BOOST_NO_VARIADIC_MACROS
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1(...) /*nothing*/
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1(...) \
+ /* nothing */
 #else // variadics
-# define CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1(seq) /*nothing*/
+# define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1(seq) \
+ /* nothing */
 #endif // variadics
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TAGGED_LIST_1( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TAGGED_LIST_1( \
         tokens, is_tagged_macro, removing_prefix) \
- CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
             is_tagged_macro, removing_prefix)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1(tokens, \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1(tokens, \
         allow_empty, with_defaults, elem_macro) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_FROM_SEQ_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_GET_SEQ_1_(tokens), \
             allow_empty, with_defaults, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST_1(tokens) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_1_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 tokens \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST_1(tokens) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_ERASE_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_EXPAND_1_( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TAGGED_LIST_REMOVE_1 tokens \
     ))
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_OPTIONAL_LIST_1( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_OPTIONAL_LIST_1( \
         tokens, allow_empty, with_defaults, elem_macro) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1 /* list present */ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_LIST_1 /* list present */ \
     , \
         BOOST_PP_NIL BOOST_PP_TUPLE_EAT(4) /* expand to nil pp-list */ \
     )(tokens, allow_empty, with_defaults, elem_macro)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_OPTIONAL_LIST_1(tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST_1 /* list present */ \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_OPTIONAL_LIST_1(tokens) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_LIST_1 /* list present */ \
     , \
         tokens BOOST_PP_TUPLE_EAT(1) /* expand to tokens */ \
     )(tokens)

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_1.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_1.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_1.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,44 +1,40 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
-#error "Code generation used incorrect CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/assertion.hpp>
-#include <contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
 #if 2 <= 5
-# include <contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp>
+# include <boost/contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp>
 #endif
-#include <contract/detail/preprocessor/keyword/contract/requires.hpp>
-#include <contract/detail/preprocessor/keyword/if.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/requires.hpp>
+#include <boost/contract/detail/preprocessor/keyword/if.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_1_( \
         d, number_instruction_requirements_traits, assertion) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2 \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2 \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT(\
             assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
+ , BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
     , /* else: bool, const, or static assert */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
     )))(d, assertion \
         , BOOST_PP_TUPLE_ELEM(4, 0, number_instruction_requirements_traits) \
         , BOOST_PP_TUPLE_ELEM(4, 1, number_instruction_requirements_traits) \
@@ -46,48 +42,43 @@
         , BOOST_PP_TUPLE_ELEM(4, 3, number_instruction_requirements_traits) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_( \
         d, select_assertions, number_instruction_requirements_traits) \
     BOOST_PP_LIST_FOLD_LEFT_ ## d( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_1_, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_1_, \
             number_instruction_requirements_traits, select_assertions)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_(d, select_traits, \
- prev_number, prev_instruction, prev_requirements, traits) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_( \
+ d, select_traits, prev_number, prev_instruction, prev_requirements, \
+ traits) \
     /* 6th, append right-curly to end else block */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
- /* 5th, append else-assertions */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 5th, append else-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
                     select_traits) \
- /* 4th, append else-statement `else` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
- /* 3rd, append right-curly to end if block */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(\
- d \
- /* 2nd, append then-assertions */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_(\
- d \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(\
- select_traits) \
- /* 1st, append if-statement `if(...)` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
- , (prev_number, prev_instruction, prev_requirements, traits) \
- ) \
- ) \
- ) \
- ) \
- ) \
- )
+ /* 4th, append else-statement `else` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
+ /* 3rd, append right-curly to end if block */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 2nd, append then-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_1_(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(select_traits) \
+ /* 1st, append if-statement `if(...)` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
+ , (prev_number, prev_instruction, prev_requirements, traits) \
+ ) ) ) ) ) )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1(d, assertion, \
- prev_number, prev_instruction, prev_requirements, traits)\
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION(assertion),\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1( \
+ d, assertion, prev_number, prev_instruction, prev_requirements, \
+ traits) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_1_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION( \
+ assertion),\
                     prev_number, prev_instruction, prev_requirements, traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_2.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,44 +1,40 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
-#error "Code generation used incorrect CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/assertion.hpp>
-#include <contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
 #if 3 <= 5
-# include <contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp>
+# include <boost/contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp>
 #endif
-#include <contract/detail/preprocessor/keyword/contract/requires.hpp>
-#include <contract/detail/preprocessor/keyword/if.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/requires.hpp>
+#include <boost/contract/detail/preprocessor/keyword/if.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_2_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_2_( \
         d, number_instruction_requirements_traits, assertion) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3 \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3 \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT(\
             assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
+ , BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
     , /* else: bool, const, or static assert */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
     )))(d, assertion \
         , BOOST_PP_TUPLE_ELEM(4, 0, number_instruction_requirements_traits) \
         , BOOST_PP_TUPLE_ELEM(4, 1, number_instruction_requirements_traits) \
@@ -46,48 +42,43 @@
         , BOOST_PP_TUPLE_ELEM(4, 3, number_instruction_requirements_traits) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_( \
         d, select_assertions, number_instruction_requirements_traits) \
     BOOST_PP_LIST_FOLD_LEFT_ ## d( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_2_, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_2_, \
             number_instruction_requirements_traits, select_assertions)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_(d, select_traits, \
- prev_number, prev_instruction, prev_requirements, traits) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_( \
+ d, select_traits, prev_number, prev_instruction, prev_requirements, \
+ traits) \
     /* 6th, append right-curly to end else block */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
- /* 5th, append else-assertions */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 5th, append else-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
                     select_traits) \
- /* 4th, append else-statement `else` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
- /* 3rd, append right-curly to end if block */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(\
- d \
- /* 2nd, append then-assertions */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_(\
- d \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(\
- select_traits) \
- /* 1st, append if-statement `if(...)` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
- , (prev_number, prev_instruction, prev_requirements, traits) \
- ) \
- ) \
- ) \
- ) \
- ) \
- )
+ /* 4th, append else-statement `else` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
+ /* 3rd, append right-curly to end if block */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 2nd, append then-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_2_(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(select_traits) \
+ /* 1st, append if-statement `if(...)` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
+ , (prev_number, prev_instruction, prev_requirements, traits) \
+ ) ) ) ) ) )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2(d, assertion, \
- prev_number, prev_instruction, prev_requirements, traits)\
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION(assertion),\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2( \
+ d, assertion, prev_number, prev_instruction, prev_requirements, \
+ traits) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_2_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION( \
+ assertion),\
                     prev_number, prev_instruction, prev_requirements, traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_3.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,44 +1,40 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
-#error "Code generation used incorrect CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/assertion.hpp>
-#include <contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
 #if 4 <= 5
-# include <contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp>
+# include <boost/contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp>
 #endif
-#include <contract/detail/preprocessor/keyword/contract/requires.hpp>
-#include <contract/detail/preprocessor/keyword/if.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/requires.hpp>
+#include <boost/contract/detail/preprocessor/keyword/if.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_3_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_3_( \
         d, number_instruction_requirements_traits, assertion) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4 \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4 \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT(\
             assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
+ , BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
     , /* else: bool, const, or static assert */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
     )))(d, assertion \
         , BOOST_PP_TUPLE_ELEM(4, 0, number_instruction_requirements_traits) \
         , BOOST_PP_TUPLE_ELEM(4, 1, number_instruction_requirements_traits) \
@@ -46,48 +42,43 @@
         , BOOST_PP_TUPLE_ELEM(4, 3, number_instruction_requirements_traits) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_( \
         d, select_assertions, number_instruction_requirements_traits) \
     BOOST_PP_LIST_FOLD_LEFT_ ## d( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_3_, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_3_, \
             number_instruction_requirements_traits, select_assertions)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_(d, select_traits, \
- prev_number, prev_instruction, prev_requirements, traits) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_( \
+ d, select_traits, prev_number, prev_instruction, prev_requirements, \
+ traits) \
     /* 6th, append right-curly to end else block */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
- /* 5th, append else-assertions */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 5th, append else-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
                     select_traits) \
- /* 4th, append else-statement `else` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
- /* 3rd, append right-curly to end if block */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(\
- d \
- /* 2nd, append then-assertions */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_(\
- d \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(\
- select_traits) \
- /* 1st, append if-statement `if(...)` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
- , (prev_number, prev_instruction, prev_requirements, traits) \
- ) \
- ) \
- ) \
- ) \
- ) \
- )
+ /* 4th, append else-statement `else` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
+ /* 3rd, append right-curly to end if block */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 2nd, append then-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_3_(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(select_traits) \
+ /* 1st, append if-statement `if(...)` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
+ , (prev_number, prev_instruction, prev_requirements, traits) \
+ ) ) ) ) ) )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3(d, assertion, \
- prev_number, prev_instruction, prev_requirements, traits)\
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION(assertion),\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3( \
+ d, assertion, prev_number, prev_instruction, prev_requirements, \
+ traits) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_3_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION( \
+ assertion),\
                     prev_number, prev_instruction, prev_requirements, traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_4.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,44 +1,40 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
-#error "Code generation used incorrect CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/assertion.hpp>
-#include <contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
 #if 5 <= 5
-# include <contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp>
+# include <boost/contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp>
 #endif
-#include <contract/detail/preprocessor/keyword/contract/requires.hpp>
-#include <contract/detail/preprocessor/keyword/if.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/requires.hpp>
+#include <boost/contract/detail/preprocessor/keyword/if.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_4_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_4_( \
         d, number_instruction_requirements_traits, assertion) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5 \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5 \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT(\
             assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
+ , BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
     , /* else: bool, const, or static assert */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
     )))(d, assertion \
         , BOOST_PP_TUPLE_ELEM(4, 0, number_instruction_requirements_traits) \
         , BOOST_PP_TUPLE_ELEM(4, 1, number_instruction_requirements_traits) \
@@ -46,48 +42,43 @@
         , BOOST_PP_TUPLE_ELEM(4, 3, number_instruction_requirements_traits) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_( \
         d, select_assertions, number_instruction_requirements_traits) \
     BOOST_PP_LIST_FOLD_LEFT_ ## d( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_4_, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_4_, \
             number_instruction_requirements_traits, select_assertions)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_(d, select_traits, \
- prev_number, prev_instruction, prev_requirements, traits) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_( \
+ d, select_traits, prev_number, prev_instruction, prev_requirements, \
+ traits) \
     /* 6th, append right-curly to end else block */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
- /* 5th, append else-assertions */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 5th, append else-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
                     select_traits) \
- /* 4th, append else-statement `else` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
- /* 3rd, append right-curly to end if block */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(\
- d \
- /* 2nd, append then-assertions */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_(\
- d \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(\
- select_traits) \
- /* 1st, append if-statement `if(...)` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
- , (prev_number, prev_instruction, prev_requirements, traits) \
- ) \
- ) \
- ) \
- ) \
- ) \
- )
+ /* 4th, append else-statement `else` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
+ /* 3rd, append right-curly to end if block */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 2nd, append then-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_4_(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(select_traits) \
+ /* 1st, append if-statement `if(...)` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
+ , (prev_number, prev_instruction, prev_requirements, traits) \
+ ) ) ) ) ) )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4(d, assertion, \
- prev_number, prev_instruction, prev_requirements, traits)\
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION(assertion),\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4( \
+ d, assertion, prev_number, prev_instruction, prev_requirements, \
+ traits) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_4_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION( \
+ assertion),\
                     prev_number, prev_instruction, prev_requirements, traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/aux_/select_assertion_5.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,44 +1,40 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_HPP_
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
-#error "Code generation used incorrect CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS: 5
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS != 5
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_NESTED_SELECT_ASSERTIONS"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/assertion.hpp>
-#include <contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/assertion.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/select_assertion.hpp>
 #if 6 <= 5
-# include <contract/detail/preprocessor/traits/aux_/select_assertion_6.hpp>
+# include <boost/contract/detail/preprocessor/traits/aux_/select_assertion_6.hpp>
 #endif
-#include <contract/detail/preprocessor/keyword/contract/requires.hpp>
-#include <contract/detail/preprocessor/keyword/if.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/requires.hpp>
+#include <boost/contract/detail/preprocessor/keyword/if.hpp>
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_5_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_5_( \
         d, number_instruction_requirements_traits, assertion) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_6 \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_IF_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_6 \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_IS_STATEMENT(\
             assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_STATEMENT \
+ , BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_REQUIRES_FRONT(assertion), \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_REQUIRES \
     , /* else: bool, const, or static assert */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_CONDITION \
     )))(d, assertion \
         , BOOST_PP_TUPLE_ELEM(4, 0, number_instruction_requirements_traits) \
         , BOOST_PP_TUPLE_ELEM(4, 1, number_instruction_requirements_traits) \
@@ -46,48 +42,43 @@
         , BOOST_PP_TUPLE_ELEM(4, 3, number_instruction_requirements_traits) \
     )
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_( \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_( \
         d, select_assertions, number_instruction_requirements_traits) \
     BOOST_PP_LIST_FOLD_LEFT_ ## d( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_5_, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELEM_5_, \
             number_instruction_requirements_traits, select_assertions)
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_(d, select_traits, \
- prev_number, prev_instruction, prev_requirements, traits) \
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_( \
+ d, select_traits, prev_number, prev_instruction, prev_requirements, \
+ traits) \
     /* 6th, append right-curly to end else block */ \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
- /* 5th, append else-assertions */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 5th, append else-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_ELSES( \
                     select_traits) \
- /* 4th, append else-statement `else` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
- /* 3rd, append right-curly to end if block */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(\
- d \
- /* 2nd, append then-assertions */ \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_(\
- d \
- ,CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(\
- select_traits) \
- /* 1st, append if-statement `if(...)` */ \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
- , CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
- , (prev_number, prev_instruction, prev_requirements, traits) \
- ) \
- ) \
- ) \
- ) \
- ) \
- )
+ /* 4th, append else-statement `else` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_ELSE(d \
+ /* 3rd, append right-curly to end if block */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_RCURLY(d \
+ /* 2nd, append then-assertions */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_LIST_5_(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_THENS(select_traits) \
+ /* 1st, append if-statement `if(...)` */ \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_PREPEND_IF(d \
+ , BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_IF(select_traits) \
+ , (prev_number, prev_instruction, prev_requirements, traits) \
+ ) ) ) ) ) )
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5(d, assertion, \
- prev_number, prev_instruction, prev_requirements, traits)\
- CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_(d, \
- CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION(assertion),\
+#define BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5( \
+ d, assertion, prev_number, prev_instruction, prev_requirements, \
+ traits) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_ASSERTION_APPEND_TUPLE(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION_5_(d, \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_SELECT_ASSERTION( \
+ assertion),\
                     prev_number, prev_instruction, prev_requirements, traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/func/catches.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/func/catches.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/func/catches.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,25 +1,20 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_HPP_
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used: #define CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES 10
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES != 10
-#error "Code generation used incorrect CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used: #define BOOST_CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES 10
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES != 10
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_CONSTRUCTOR_TRY_BLOCK_CATCHES"
 #endif
 
-#include <contract/detail/preprocessor/traits/aux_/apply.hpp>
-#include <contract/detail/preprocessor/keyword/catch.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/apply.hpp>
+#include <boost/contract/detail/preprocessor/keyword/catch.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/array/elem.hpp>
@@ -28,179 +23,213 @@
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_STATEMENTS_(statements) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_STATEMENTS_(statements) \
     /* beginning of seq elem of 3-tuple from DECL_catch here */ \
     statements)), /* this comma splits */
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_catch( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_catch( \
         exception_decl) \
- ((exception_decl, CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_STATEMENTS_ \
+ ( ( \
+ exception_decl \
+ , \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_STATEMENTS_ \
     /* end of seq elem of 3-tuple from STATEMENTS_ here */
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_9_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_9_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
         ERROR_support_maximum_of_10_catch_statements \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_9_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_9_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_9_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_9_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_8_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_8_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_9_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_9_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_8_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_8_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_8_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_8_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_7_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_7_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_8_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_8_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_7_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_7_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_7_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_7_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_6_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_6_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_7_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_7_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_6_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_6_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_6_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_6_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_5_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_5_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_6_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_6_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_5_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_5_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_5_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_5_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_4_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_4_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_5_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_5_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_4_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_4_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_4_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_4_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_3_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_3_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_4_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_4_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_3_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_3_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_3_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_3_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_2_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_2_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_3_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_3_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_2_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_2_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_2_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_2_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_1_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_1_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_2_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_2_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_1_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_1_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_1_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_1_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_(seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_( \
+ seq_sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_1_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_1_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     )(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_(seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_( ( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_( \
+ seq, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_NEXT_( ( \
         seq BOOST_PP_CAT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_EXCEPTION_DECL_, \
+ sign) \
     ) )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_LIST_(sign) \
- CONTRACT_DETAIL_PP_SEQ_TO_LIST_NEVER_EMPTY(BOOST_PP_TUPLE_ELEM(2, 0, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_( \
- BOOST_PP_EMPTY(), sign)))
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_LIST_(sign) \
+ BOOST_CONTRACT_DETAIL_PP_SEQ_TO_LIST_NEVER_EMPTY( \
+ BOOST_PP_TUPLE_ELEM(2, 0, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_( \
+ BOOST_PP_EMPTY(), sign)))
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_(sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_LIST_ \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_(sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_LIST_ \
     , \
         BOOST_PP_NIL BOOST_PP_TUPLE_EAT(1) /* empty catch list */ \
     )(sign)
         
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_REMOVE_(sign) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_REMOVE_(sign) \
     BOOST_PP_TUPLE_ELEM(2, 1, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_SIGN_( \
                     BOOST_PP_EMPTY(), sign))
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_SIGN_(sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_REMOVE_ \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_SIGN_(sign) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_CATCH_FRONT(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_REMOVE_ \
     , \
         sign BOOST_PP_TUPLE_EAT(1) \
     )(sign)
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_AUX_CATCHES(traits_sign) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY(traits_sign, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_SIGN_)
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_AUX_CATCHES(traits_sign) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY(traits_sign, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_TRAIT_, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES_SIGN_)
 
 // PUBLIC //
 
 // Expand to pp-list of catch traits `(exception_decl, statements)`.
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES(func_traits) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_CATCHES(func_traits) \
     BOOST_PP_ARRAY_ELEM(23, func_traits)
 
 // Expand to either `exception_type exception_var` or `...`.
-#define CONTRACT_DETAIL_PP_CATCH_TRAITS_EXCEPTION_DECL(catch_traits) \
+#define BOOST_CONTRACT_DETAIL_PP_CATCH_TRAITS_EXCEPTION_DECL(catch_traits) \
     BOOST_PP_TUPLE_ELEM(2, 0, catch_traits)
 
 // Expand to `instruction; instruction; ...` (all instructions optional).
-#define CONTRACT_DETAIL_PP_CATCH_TRAITS_STATEMENTS(catch_traits) \
+#define BOOST_CONTRACT_DETAIL_PP_CATCH_TRAITS_STATEMENTS(catch_traits) \
     BOOST_PP_TUPLE_ELEM(2, 1, catch_traits)
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/traits/func/postconditions.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/traits/func/postconditions.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/traits/func/postconditions.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,33 +1,28 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
-
-#ifndef CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_
-
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used: #define CONTRACT_LIMIT_OLDOFS 15
-
-#include <contract/limits.hpp>
-#if CONTRACT_LIMIT_OLDOFS != 15
-#error "Code generation used incorrect CONTRACT_LIMIT_OLDOFS"
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used: #define BOOST_CONTRACT_LIMIT_OLDOFS 15
+
+#ifndef BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_HPP_
+
+#include <boost/contract/limits.hpp>
+#if BOOST_CONTRACT_LIMIT_OLDOFS != 15
+# error "Code generation used incorrect BOOST_CONTRACT_LIMIT_OLDOFS"
 #endif
 
 // Old-of already parsed but header included here for user to access this trait.
-#include <contract/detail/preprocessor/traits/oldof.hpp>
+#include <boost/contract/detail/preprocessor/traits/oldof.hpp>
 
-#include <contract/detail/preprocessor/traits/aux_/oldof.hpp>
-#include <contract/detail/preprocessor/traits/aux_/type.hpp>
-#include <contract/detail/preprocessor/traits/aux_/nil.hpp>
-#include <contract/detail/preprocessor/traits/assertion.hpp>
-#include <contract/detail/preprocessor/keyword/contract/postcondition.hpp>
-#include <contract/detail/preprocessor/keyword/auto.hpp>
-#include <contract/detail/preprocessor/variadic/to_seq.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/oldof.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/type.hpp>
+#include <boost/contract/detail/preprocessor/traits/aux_/nil.hpp>
+#include <boost/contract/detail/preprocessor/traits/assertion.hpp>
+#include <boost/contract/detail/preprocessor/keyword/boost/contract/postcondition.hpp>
+#include <boost/contract/detail/preprocessor/keyword/auto.hpp>
+#include <boost/contract/detail/preprocessor/variadic/to_seq.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/control/iif.hpp>
@@ -43,24 +38,25 @@
 
 // PRIVATE //
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPE_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPE_( \
         oldof_typed_assignment) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT( \
             oldof_typed_assignment), \
         /* 0-size array for no type (`auto` for typeof deduction) */ \
         (0, ()) BOOST_PP_TUPLE_EAT(1) \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_TYPE \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_TYPE \
     )(oldof_typed_assignment)
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_ASSIGNMENT_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_ASSIGNMENT_(\
         oldof_typed_assignment) \
- CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TYPE( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_AFTER_TYPE( \
         oldof_typed_assignment \
     ))
     
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPED_ASSIGNMENT_(\
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPED_ASSIGNMENT_(\
         s, result_oldofs_assertions_lastoldofexpr, oldof_typed_assignment) \
     ( \
         BOOST_PP_TUPLE_ELEM(4, 0, result_oldofs_assertions_lastoldofexpr) \
@@ -68,13 +64,13 @@
         BOOST_PP_LIST_APPEND( \
             ( /* pp-list */ \
                 (3, ( /* oldof pp-array with `NIL type, var =, expr` */ \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPE_(\
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPE_(\
                             oldof_typed_assignment) \
                 , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_ASSIGNMENT_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_ASSIGNMENT_( \
                             oldof_typed_assignment) \
                 , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_OLDOF_REMOVE_FRONT( \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_OLDOF_REMOVE_FRONT( \
                             BOOST_PP_TUPLE_ELEM(4, 3, \
                                     result_oldofs_assertions_lastoldofexpr)) \
                 ) ) \
@@ -86,10 +82,10 @@
     , \
         BOOST_PP_TUPLE_ELEM(4, 2, result_oldofs_assertions_lastoldofexpr) \
     , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no open old-of expr */ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no open old-of expr */ \
     )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_EXPR_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_EXPR_( \
         s, result_oldofs_assertions_lastoldofexpr, oldof_expr) \
     ( \
         BOOST_PP_TUPLE_ELEM(4, 0, result_oldofs_assertions_lastoldofexpr) \
@@ -101,18 +97,20 @@
         oldof_expr /* open an old-of expr (expect old-of assignment next) */ \
     )
 
-#define return_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_STRIP_RETURN \
+#define \
+return_BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_STRIP_RETURN \
     /* nothing */
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_RESULT_ASSIGNMENT_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_RESULT_ASSIGNMENT_( \
         s, result_oldofs_assertions_lastoldofexpr, result_assignment) \
     ( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* optional trait */ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* optional trait */ \
         /* LIMITATION: With this implementation, multiple result */ \
         /* declarations override each other (instead of compiler error) */ \
- CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(BOOST_PP_CAT( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(BOOST_PP_CAT( \
                 result_assignment, \
- _CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_STRIP_RETURN)) \
+ _BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_STRIP_RETURN)) \
     , \
         BOOST_PP_TUPLE_ELEM(4, 1, result_oldofs_assertions_lastoldofexpr) \
     , \
@@ -121,7 +119,7 @@
         BOOST_PP_TUPLE_ELEM(4, 3, result_oldofs_assertions_lastoldofexpr) \
     )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_( \
         s, result_oldofs_assertions_lastoldofexpr, assertion) \
     ( \
         BOOST_PP_TUPLE_ELEM(4, 0, result_oldofs_assertions_lastoldofexpr) \
@@ -135,22 +133,22 @@
         BOOST_PP_TUPLE_ELEM(4, 3, result_oldofs_assertions_lastoldofexpr) \
     )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_OP_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_OP_( \
         s, result_oldofs_assertions_lastoldofexpr, elem) \
- BOOST_PP_IIF(BOOST_PP_COMPL(CONTRACT_DETAIL_PP_TRAITS_AUX_IS_NIL( \
+ BOOST_PP_IIF(BOOST_PP_COMPL(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_IS_NIL( \
             BOOST_PP_TUPLE_ELEM(4, 3, \
             result_oldofs_assertions_lastoldofexpr))), \
         /* prev there was an old-of expr so elem must be old-of assignment */\
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPED_ASSIGNMENT_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_IS_OLDOF_FRONT(elem), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_EXPR_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(elem), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_RESULT_ASSIGNMENT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_TYPED_ASSIGNMENT_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_IS_OLDOF_FRONT(elem), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_OLDOF_EXPR_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(elem), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_RESULT_ASSIGNMENT_ \
     , /* else, it is an assertion */ \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_ \
     )))(s, result_oldofs_assertions_lastoldofexpr, elem)
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_3TUPLE_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_3TUPLE_( \
         result_oldofs_assertions_lastoldofexpr) \
     ( /* after folding, ignore 4th elem `lastoldofexpr` */ \
         BOOST_PP_TUPLE_ELEM(4, 0, result_oldofs_assertions_lastoldofexpr) \
@@ -160,18 +158,20 @@
         BOOST_PP_TUPLE_ELEM(4, 2, result_oldofs_assertions_lastoldofexpr) \
     )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_(seq_sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_3TUPLE_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_(seq_sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_3TUPLE_( \
         BOOST_PP_SEQ_FOLD_RIGHT( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_OP_, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_OP_, \
             ( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no result */ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no result */ \
             , \
                 BOOST_PP_NIL /* no oldofs */ \
             , \
                 BOOST_PP_NIL /* no assertions */ \
             , \
- CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no last oldof expr */ \
+ /* no last oldof expr */ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL \
             ), \
             BOOST_PP_TUPLE_ELEM(2, 0, seq_sign) \
         ) \
@@ -179,423 +179,445 @@
 
 // Adapted from PP_CAT (needed for reentrancy as CAT already used by VARIADIC).
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_(a, b) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b)
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_(a, b) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b)
 #else
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_(a, b) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_OO_((a, b))
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_OO_(par) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_ ## par
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_(a, b) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_OO_((a, b))
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_OO_(par) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_ ## par
 #endif
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b) a ## b
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b) \
+ a ## b
 #else
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_II_(a ## b)
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_II_(res) res
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_I_(a, b) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_II_(a ## b)
+# define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_II_(res) res
 #endif
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_(paren) \
- CONTRACT_DETAIL_PP_TUPLE_SPLIT(1) paren
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_( \
+ paren) \
+ BOOST_CONTRACT_DETAIL_PP_TUPLE_SPLIT(1) paren
 #ifndef BOOST_NO_VARIADIC_MACROS
-# include <contract/detail/preprocessor/variadic/to_seq.hpp>
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_( \
+# include <boost/contract/detail/preprocessor/variadic/to_seq.hpp>
+# define \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_( \
             ...) \
- CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) , /*comma split*/
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_TO_SEQ(void, __VA_ARGS__) , /*comma split*/
 # define \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN1_( paren) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
- CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN1_( paren) \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
         /* unfortunately this needs to know that initialize is next (needed */\
         /* to handle typed old-of when no variadic macros) */ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT( \
- CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_TRAITS_AUX_IS_NIL_FRONT( \
- CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
- CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_INITIALIZE_FRONT( \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_IS_NIL_FRONT( \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_VARIADIC_EAT paren), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
         ))))(paren)
 # define \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN_( \
             tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN1_ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN1_ \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
         )(tokens)
 # define \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition(...)\
- BOOST_PP_IIF(BOOST_PP_EQUAL(1, CONTRACT_DETAIL_PP_VARIADIC_SIZE( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition(\
+ ...) \
+ BOOST_PP_IIF(BOOST_PP_EQUAL(1, BOOST_CONTRACT_DETAIL_PP_VARIADIC_SIZE(\
                 __VA_ARGS__)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_MAYBE_PAREN_ \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_VARIADIC_ \
         )(__VA_ARGS__)
 #else
-# define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_TOKEN_( \
+# define \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_TOKEN_( \
             token) \
         (token) , /* comma split */
 # define \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition(\
             tokens) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(tokens), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_PAREN_ \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_TOKEN_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_TOKEN_ \
         )(tokens)
 #endif
 
 // Precondition: sign is `postcondition(...)`.
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_(sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_, sign)
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_( \
+ sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_CAT_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_, \
+ sign)
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_14_( \
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_14_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
         ERROR_support_maximum_of_15_old_value_declarations \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
         ERROR_support_maximum_of_15_old_value_declarations \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_14_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_14_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_13_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_13_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_14_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_13_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_13_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_12_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_12_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_13_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_12_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_12_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_11_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_11_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_12_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_11_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_11_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_10_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_10_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_11_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_10_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_10_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_9_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_9_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_10_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_9_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_9_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_8_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_8_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_9_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_8_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_8_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_7_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_7_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_8_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_7_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_7_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_6_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_6_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_7_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_6_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_6_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_5_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_5_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_6_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_5_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_5_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_4_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_4_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_5_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_4_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_4_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_3_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_3_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_4_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_3_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_3_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_2_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_2_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_3_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_2_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_2_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_1_( \
+ ))
+#define \
+BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_1_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_2_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_( \
         seq, sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_1_( ( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_1_((\
         seq \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
- ) )
+ ))
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_( \
         seq_sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_ \
- , BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_ \
+ , BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN( \
             BOOST_PP_TUPLE_ELEM(2, 1, seq_sign)), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_1_ \
     , \
         seq_sign BOOST_PP_TUPLE_EAT(2) \
     ))(BOOST_PP_TUPLE_ELEM(2, 0, seq_sign), BOOST_PP_TUPLE_ELEM(2, 1, seq_sign))
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_(sign) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_(sign) \
     BOOST_PP_EXPAND( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_( ( \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_NEXT_( ( \
+ BOOST_PP_IIF(BOOST_CONTRACT_DETAIL_PP_HAS_PAREN(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_postcondition \
         , \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_ \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SPLIT_SEQ_CAT_\
         )(sign) \
     ) ) )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_LIST_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_LIST_( \
         result_oldofs_assertions) \
     ( \
         BOOST_PP_TUPLE_ELEM(3, 0, result_oldofs_assertions) \
     , \
         BOOST_PP_TUPLE_ELEM(3, 1, result_oldofs_assertions) \
     , \
- CONTRACT_DETAIL_PP_ASSERTION_TRAITS(BOOST_PP_TUPLE_ELEM(3, 2, \
+ BOOST_CONTRACT_DETAIL_PP_ASSERTION_TRAITS(BOOST_PP_TUPLE_ELEM(3, 2, \
                 result_oldofs_assertions)) /* process assertion traits */ \
     )
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_LIST_(sign) \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_LIST_( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_LIST_(sign) \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_ASSERTION_LIST_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_FROM_SEQ_( \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_( \
         sign \
     )))
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_(sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_LIST_ \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_(sign) \
+ BOOST_PP_IIF( \
+ BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_LIST_ \
     , \
         ( \
- CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no result */ \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL /* no result */ \
         , \
             BOOST_PP_NIL /* no oldofs */ \
         , \
@@ -604,37 +626,39 @@
         BOOST_PP_TUPLE_EAT(1) \
     )(sign)
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_REMOVE_(sign) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_REMOVE_(sign) \
     BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_EXPAND( \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_(sign)))
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_SIGN_( \
+ sign)))
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SIGN_(sign) \
- BOOST_PP_IIF(CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(sign), \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_REMOVE_ \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SIGN_(sign) \
+ BOOST_PP_IIF( BOOST_CONTRACT_DETAIL_PP_KEYWORD_IS_POSTCONDITION_FRONT(sign), \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_REMOVE_ \
     , \
         sign BOOST_PP_TUPLE_EAT(1) \
     )(sign)
 
 // PROTECTED //
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_AUX_POSTCONDITIONS(traits_sign) \
- CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY(traits_sign, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_, \
- CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SIGN_)
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_AUX_POSTCONDITIONS(traits_sign) \
+ BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_APPLY(traits_sign, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_TRAIT_, \
+ BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS_SIGN_)
 
 // PUBLIC //
 
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITION_RESULT_ASSIGNMENT( \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITION_RESULT_ASSIGNMENT( \
         func_traits) \
- BOOST_PP_CAT(CONTRACT_DETAIL_PP_TRAITS_AUX_NIL_REMOVE_, \
+ BOOST_PP_CAT(BOOST_CONTRACT_DETAIL_PP_TRAITS_AUX_NIL_REMOVE_, \
             BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ARRAY_ELEM(21, func_traits)))
 
 // Expand to pp-list of oldofs (see `OLDOF_TRAITS`).
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITION_OLDOFS(func_traits) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITION_OLDOFS( \
+ func_traits) \
     BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ARRAY_ELEM(21, func_traits))
 
 // Expand to pp-list of postcondition assertions.
-#define CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS(func_traits) \
+#define BOOST_CONTRACT_DETAIL_PP_FUNC_TRAITS_POSTCONDITIONS(func_traits) \
     BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ARRAY_ELEM(21, func_traits))
 
 #endif // #include guard

Modified: sandbox/contract/boost/contract/detail/preprocessor/tuple/split.hpp
==============================================================================
--- sandbox/contract/boost/contract/detail/preprocessor/tuple/split.hpp (original)
+++ sandbox/contract/boost/contract/detail/preprocessor/tuple/split.hpp 2013-03-04 17:40:03 EST (Mon, 04 Mar 2013)
@@ -1,21 +1,16 @@
 
-// Copyright (C) 2008-2012 Lorenzo Caminiti
-// Distributed under the Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// Home at http://sourceforge.net/projects/contractpp
+/*************************************************************/
+/* WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT! */
+/* Instead modify the generation script "<FILE>-generate.py" */
+/*************************************************************/
+// Used: #define BOOST_PP_LIMIT_TUPLE 64
 
 #ifndef CONTRACT_DETAIL_PP_TUPLE_SPLIT_HPP_
 #define CONTRACT_DETAIL_PP_TUPLE_SPLIT_HPP_
 
-// WARNING: FILE AUTOMATICALLY GENERATED, DO NOT MODIFY IT!
-// Instead modify the generation script "<FILE>-generate.py" and run
-// `$ python <FILE_NAME>-generate.py > FILE_NAME.hpp`.
-// Used: #define BOOST_PP_LIMIT_TUPLE 64
-
 #include <boost/preprocessor/limits.hpp>
 #if BOOST_PP_LIMIT_TUPLE != 64
-#error "Code generation used incorrect BOOST_PP_LIMIT_TUPLE"
+# error "Code generation used incorrect BOOST_PP_LIMIT_TUPLE"
 #endif
 
 // PRIVATE //


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk