diff options
author | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-07-22 10:49:47 +0300 |
---|---|---|
committer | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-07-22 10:49:47 +0300 |
commit | 080423ed92ffd0743c1f184681f5dfdc052fc7e6 (patch) | |
tree | 0320316f392a28fa244bea7679cc5b4a2b66547d | |
parent | 6b275e9a993167b6c66418e4bcf1b7f557d011e5 (diff) | |
download | ydb-080423ed92ffd0743c1f184681f5dfdc052fc7e6.tar.gz |
Reimport boost/vmd as a separate project
156 files changed, 21 insertions, 20649 deletions
diff --git a/CMakeLists.darwin.txt b/CMakeLists.darwin.txt index 58b3dcdb6f6..2739bd1ece9 100644 --- a/CMakeLists.darwin.txt +++ b/CMakeLists.darwin.txt @@ -140,6 +140,7 @@ add_subdirectory(contrib/restricted/boost/mp11) add_subdirectory(contrib/restricted/boost/predef) add_subdirectory(contrib/restricted/boost/preprocessor) add_subdirectory(contrib/restricted/boost/static_assert) +add_subdirectory(contrib/restricted/boost/vmd) add_subdirectory(contrib/restricted/boost/winapi) add_subdirectory(contrib/restricted/fast_float) add_subdirectory(contrib/restricted/thrift) diff --git a/CMakeLists.linux.txt b/CMakeLists.linux.txt index 784fea1a6f0..d0daf41ae3b 100644 --- a/CMakeLists.linux.txt +++ b/CMakeLists.linux.txt @@ -218,6 +218,7 @@ add_subdirectory(contrib/restricted/boost/mp11) add_subdirectory(contrib/restricted/boost/predef) add_subdirectory(contrib/restricted/boost/preprocessor) add_subdirectory(contrib/restricted/boost/static_assert) +add_subdirectory(contrib/restricted/boost/vmd) add_subdirectory(contrib/restricted/boost/winapi) add_subdirectory(contrib/restricted/fast_float) add_subdirectory(contrib/restricted/thrift) diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt index 2ffb17e0c7b..c9035f1fe40 100644 --- a/contrib/restricted/boost/CMakeLists.txt +++ b/contrib/restricted/boost/CMakeLists.txt @@ -20,5 +20,6 @@ target_link_libraries(contrib-restricted-boost INTERFACE restricted-boost-predef restricted-boost-preprocessor restricted-boost-static_assert + restricted-boost-vmd restricted-boost-winapi ) diff --git a/contrib/restricted/boost/boost/vmd/array.hpp b/contrib/restricted/boost/boost/vmd/array.hpp deleted file mode 100644 index c629b1c1b51..00000000000 --- a/contrib/restricted/boost/boost/vmd/array.hpp +++ /dev/null @@ -1,18 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ARRAY_HPP) -#define BOOST_VMD_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/array/to_seq.hpp> -#include <boost/vmd/array/to_tuple.hpp> - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/array/to_seq.hpp b/contrib/restricted/boost/boost/vmd/array/to_seq.hpp deleted file mode 100644 index e8d0aad2b5a..00000000000 --- a/contrib/restricted/boost/boost/vmd/array/to_seq.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ARRAY_TO_SEQ_HPP) -#define BOOST_VMD_ARRAY_TO_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/array/to_seq.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty_array.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ARRAY_TO_SEQ(array) - - \brief converts an array to a seq. - - array = array to be converted. - - If the array is an array of 0 elements it is converted to an empty seq. - Otherwise the array is converted to a seq with the same number of elements as the array. -*/ - -#define BOOST_VMD_ARRAY_TO_SEQ(array) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY_ARRAY(array), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_ARRAY_TO_SEQ \ - ) \ - (array) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ARRAY_TO_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/array/to_tuple.hpp b/contrib/restricted/boost/boost/vmd/array/to_tuple.hpp deleted file mode 100644 index a959a849ccd..00000000000 --- a/contrib/restricted/boost/boost/vmd/array/to_tuple.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ARRAY_TO_TUPLE_HPP) -#define BOOST_VMD_ARRAY_TO_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/array/to_tuple.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty_array.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ARRAY_TO_TUPLE(array) - - \brief converts an array to a tuple. - - array = array to be converted. - - If the array is an array of 0 elements it is converted to an empty tuple. - Otherwise the array is converted to a tuple with the same number of elements as the array. -*/ - -#define BOOST_VMD_ARRAY_TO_TUPLE(array) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY_ARRAY(array), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_ARRAY_TO_TUPLE \ - ) \ - (array) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ARRAY_TO_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert.hpp b/contrib/restricted/boost/boost/vmd/assert.hpp deleted file mode 100644 index 974fd6d0a93..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert.hpp +++ /dev/null @@ -1,58 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_HPP) -#define BOOST_VMD_ASSERT_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/assert.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT(...) - - \brief Conditionally causes an error to be generated. - - ... = variadic parameters, maximum of 2 will be considered. - Any variadic parameters beyond the maximum of 2 are just ignored. - - The first variadic parameter is: - - cond = A condition that determines whether an assertion occurs. Valid values range from 0 to BOOST_PP_LIMIT_MAG. - - The second variadic parameter (optional) is: - - errstr = An error string for generating a compiler error when using the VC++ compiler. - The VC++ compiler is incapable of producing a preprocessor error so when the 'cond' - is 0, a compiler error is generated by outputting C++ code in the form of: - - typedef char errstr[-1]; - - The errstr defaults to BOOST_VMD_ASSERT_ERROR if not supplied. - It is only relevant for VC++. - - returns = If cond expands to 0, this macro causes an error. Otherwise, it expands to nothing. - For all compilers other than Visual C++ the error is a preprocessing error. - For Visual C++ the error is caused by output invalid C++: this error could be - masked if the invalid output is ignored by a macro which invokes this macro. - -*/ -# define BOOST_VMD_ASSERT(...) \ - BOOST_VMD_DETAIL_ASSERT(__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_array.hpp b/contrib/restricted/boost/boost/vmd/assert_is_array.hpp deleted file mode 100644 index 2bb7745983c..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_array.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_ARRAY_HPP) -#define BOOST_VMD_ASSERT_IS_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_ARRAY(sequence) - - \brief Asserts that the sequence is a Boost PP array. - - The macro checks that the sequence is a Boost PP array. - If it is not a Boost PP array, it forces a compiler error. - - The macro normally checks for a Boost PP array only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible Boost PP array. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP array, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP array the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - Boost PP array. - -*/ - -/** \def BOOST_VMD_ASSERT_IS_ARRAY_D(d,sequence) - - \brief Asserts that the sequence is a Boost PP array. Re-entrant version. - - The macro checks that the sequence is a Boost PP array. - If it is not a Boost PP array, it forces a compiler error. - - The macro normally checks for a Boost PP array only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible Boost PP sequence. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP array, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP array the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - Boost PP array. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_ARRAY(sequence) -#define BOOST_VMD_ASSERT_IS_ARRAY_D(d,sequence) - -#else - -#include <boost/vmd/is_array.hpp> -#include <boost/vmd/assert.hpp> - -#define BOOST_VMD_ASSERT_IS_ARRAY(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_ARRAY(sequence), \ - BOOST_VMD_IS_ARRAY_ASSERT_ERROR \ - ) \ -/**/ - -#define BOOST_VMD_ASSERT_IS_ARRAY_D(d,sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_ARRAY_D(d,sequence), \ - BOOST_VMD_IS_ARRAY_ASSERT_ERROR \ - ) \ -/**/ - -#endif /* !BOOST_VMD_ASSERT_DATA */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_empty.hpp b/contrib/restricted/boost/boost/vmd/assert_is_empty.hpp deleted file mode 100644 index 712f67fac64..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_empty.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_EMPTY_HPP) -#define BOOST_VMD_ASSERT_IS_EMPTY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#if BOOST_VMD_ASSERT_DATA - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_empty.hpp> - -#endif - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_EMPTY(...) - - \brief Asserts that the input is empty. - - The macro checks to see if the input is empty or not. - If it is not empty, it forces a compiler error. - - The macro is a variadic macro taking any input. - For the VC++8 compiler (VS2005) the macro takes a single parameter of input to check and not variadic data. - - The macro normally checks for emptiness only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - .... = variadic input, for VC++8 this must be a single parameter. - - returns = Normally the macro returns nothing. - - If the input is empty, nothing is output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the input is not empty the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the input is not empty. - - It is recommended to append BOOST_PP_EMPTY() to whatever input - is being tested in order to avoid possible warning messages - from some compilers about no parameters being passed to the macro - when the input is truly empty. - -*/ - -#if BOOST_VMD_MSVC_V8 - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_EMPTY(input) - -#else - -#define BOOST_VMD_ASSERT_IS_EMPTY(input) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_EMPTY(input), \ - BOOST_VMD_IS_EMPTY_ASSERT_ERROR \ - ) \ -/**/ - -#endif // !BOOST_VMD_ASSERT_DATA - -#else - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_EMPTY(...) - -#else - -#define BOOST_VMD_ASSERT_IS_EMPTY(...) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_EMPTY(__VA_ARGS__), \ - BOOST_VMD_IS_EMPTY_ASSERT_ERROR \ - ) \ -/**/ - -#endif // !BOOST_VMD_ASSERT_DATA - -#endif /* BOOST_VMD_MSVC_V8 */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_identifier.hpp b/contrib/restricted/boost/boost/vmd/assert_is_identifier.hpp deleted file mode 100644 index 88211375eb3..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_identifier.hpp +++ /dev/null @@ -1,158 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_IDENTIFIER_HPP) -#define BOOST_VMD_ASSERT_IS_IDENTIFIER_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_IDENTIFIER(...) - - \brief Asserts that the sequence is an identifier. - - The macro checks that the sequence is an identifier. - If it is not an identifier, it forces a compiler error. - - The macro normally checks for an identifier only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - ... = variadic parameters - - The variadic parameters are: - - sequence = A sequence to test as an identifier. - ids (optional) = The data may take one of two forms: - it is either one or more single identifiers - or a single Boost PP tuple of identifiers. - - returns = Normally the macro returns nothing. - - If the sequence is an identifier, nothing is - output. If optional ids are specified, for the - sequence to be an identifier it must be an - identifier that matches one of the optional - ids. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not an identifier the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not an - identifier. - - Identifiers are registered in VMD with: - - #define BOOST_VMD_REG_XXX (XXX) where XXX is a v-identifier. - - The identifier must be registered to be found. - - Identifiers are pre-detected in VMD with: - - #define BOOST_VMD_DETECT_XXX_XXX where XXX is an identifier. - - If you specify optional ids and have not specified the detection - of an optional id, that id will never match an identifier. - -*/ - -/** \def BOOST_VMD_ASSERT_IS_IDENTIFIER_D(d,...) - - \brief Asserts that the sequence is an identifier. Re-entrant version. - - The macro checks that the sequence is an identifier. - If it is not an identifier, it forces a compiler error. - - The macro normally checks for an identifier only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - d = The next available BOOST_PP_WHILE iteration. - ... = variadic parameters - - The variadic parameters are: - - sequence = A sequence to test as an identifier. - ids (optional) = The data may take one of two forms: - it is either one or more single identifiers - or a single Boost PP tuple of identifiers. - - returns = Normally the macro returns nothing. - - If the sequence is an identifier, nothing is - output. If optional ids are specified, for the - sequence to be an identifier it must be an - identifier that matches one of the optional - ids. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not an identifier the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not an - identifier. - - Identifiers are registered in VMD with: - - #define BOOST_VMD_REG_XXX (XXX) where XXX is a v-identifier. - - The identifier must be registered to be found. - - Identifiers are pre-detected in VMD with: - - #define BOOST_VMD_DETECT_XXX_XXX where XXX is an identifier. - - If you specify optional ids and have not specified the detection - of an optional id, that id will never match an identifier. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_IDENTIFIER(...) -#define BOOST_VMD_ASSERT_IS_IDENTIFIER_D(d,...) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_identifier.hpp> - -#define BOOST_VMD_ASSERT_IS_IDENTIFIER(...) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_IDENTIFIER(__VA_ARGS__), \ - BOOST_VMD_IDENTIFIER_ASSERT_ERROR \ - ) \ -/**/ - -#define BOOST_VMD_ASSERT_IS_IDENTIFIER_D(d,...) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_IDENTIFIER_D(d,__VA_ARGS__), \ - BOOST_VMD_IDENTIFIER_ASSERT_ERROR \ - ) \ -/**/ - -#endif // !BOOST_VMD_ASSERT_DATA -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_list.hpp b/contrib/restricted/boost/boost/vmd/assert_is_list.hpp deleted file mode 100644 index 6c1b5eaa068..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_list.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_LIST_HPP) -#define BOOST_VMD_ASSERT_IS_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_LIST(sequence) - - \brief Asserts that the sequence is a Boost PP list. - - The macro checks that the sequence is a Boost PP list. - If it is not a Boost PP list, it forces a compiler error. - - The macro normally checks for a Boost PP list only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible Boost PP list. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP list, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP list the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the parameter is not a - Boost PP list. - -*/ - -/** \def BOOST_VMD_ASSERT_IS_LIST_D(d,sequence) - - \brief Asserts that the sequence is a Boost PP list. Re-entrant version. - - The macro checks that the sequence is a Boost PP list. - If it is not a Boost PP list, it forces a compiler error. - - The macro normally checks for a Boost PP list only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible Boost PP list. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP list, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP list the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the parameter is not a - Boost PP list. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_LIST(sequence) -#define BOOST_VMD_ASSERT_IS_LIST_D(d,sequence) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_list.hpp> - -#define BOOST_VMD_ASSERT_IS_LIST(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_LIST(sequence), \ - BOOST_VMD_ASSERT_IS_LIST_ERROR \ - ) \ -/**/ - -#define BOOST_VMD_ASSERT_IS_LIST_D(d,sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_LIST_D(d,sequence), \ - BOOST_VMD_ASSERT_IS_LIST_ERROR \ - ) \ -/**/ - -#endif /* BOOST_VMD_ASSERT_DATA */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_number.hpp b/contrib/restricted/boost/boost/vmd/assert_is_number.hpp deleted file mode 100644 index e4eb717d84c..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_number.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_NUMBER_HPP) -#define BOOST_VMD_ASSERT_IS_NUMBER_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_NUMBER(sequence) - - \brief Asserts that the sequence is a number. - - The macro checks that the parameter is a number. - If it is not a number, it forces a compiler error. - - The macro normally checks for a number only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible number. - - returns = Normally the macro returns nothing. - - If the sequence is a number, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a number the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - number. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_NUMBER(sequence) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_number.hpp> - -#define BOOST_VMD_ASSERT_IS_NUMBER(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_NUMBER(sequence), \ - BOOST_VMD_IS_NUMBER_ASSERT_ERROR \ - ) \ -/**/ - -#endif // !BOOST_VMD_ASSERT_DATA - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_NUMBER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_seq.hpp b/contrib/restricted/boost/boost/vmd/assert_is_seq.hpp deleted file mode 100644 index ba1ce2bd3c6..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_seq.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_SEQ_HPP) -#define BOOST_VMD_ASSERT_IS_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_SEQ(sequence) - - \brief Asserts that the sequence is a Boost PP seq. - - The macro checks that the sequence is a Boost PP seq. - If it is not a Boost PP seq, it forces a compiler error. - - The macro normally checks for a Boost PP seq only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible Boost PP seq. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP seq, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP seq the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - Boost PP seq. - -*/ - -/** \def BOOST_VMD_ASSERT_IS_SEQ_D(d,sequence) - - \brief Asserts that the sequence is a Boost PP seq. Re-entrant version. - - The macro checks that the sequence is a Boost PP seq. - If it is not a Boost PP seq, it forces a compiler error. - - The macro normally checks for a Boost PP seq only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible Boost PP seq. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP seq, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP seq the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - Boost PP seq. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_SEQ(sequence) -#define BOOST_VMD_ASSERT_IS_SEQ_D(d,sequence) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_seq.hpp> - -#define BOOST_VMD_ASSERT_IS_SEQ(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_SEQ(sequence), \ - BOOST_VMD_ASSERT_IS_SEQ_ERROR \ - ) \ -/**/ - -#define BOOST_VMD_ASSERT_IS_SEQ_D(d,sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_SEQ_D(d,sequence), \ - BOOST_VMD_ASSERT_IS_SEQ_ERROR \ - ) \ -/**/ - -#endif /* BOOST_VMD_ASSERT_DATA */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_tuple.hpp b/contrib/restricted/boost/boost/vmd/assert_is_tuple.hpp deleted file mode 100644 index 18a9f145db2..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_tuple.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_TUPLE_HPP) -#define BOOST_VMD_ASSERT_IS_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_TUPLE(sequence) - - \brief Asserts that the sequence is a Boost PP tuple. - - The macro checks that the sequence is a Boost PP tuple. - If it is not a Boost PP tuple, it forces a compiler error. - - The macro normally checks for a Boost PP tuple only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible Boost PP tuple. - - returns = Normally the macro returns nothing. - - If the sequence is a Boost PP tuple, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a Boost PP tuple the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - Boost PP tuple. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_TUPLE(sequence) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_tuple.hpp> - -#define BOOST_VMD_ASSERT_IS_TUPLE(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_TUPLE(sequence), \ - BOOST_VMD_ASSERT_IS_TUPLE_ERROR \ - ) \ -/**/ - -#endif /* BOOST_VMD_ASSERT_DATA */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/assert_is_type.hpp b/contrib/restricted/boost/boost/vmd/assert_is_type.hpp deleted file mode 100644 index 5bf86d1cac9..00000000000 --- a/contrib/restricted/boost/boost/vmd/assert_is_type.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ASSERT_IS_TYPE_HPP) -#define BOOST_VMD_ASSERT_IS_TYPE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ASSERT_IS_TYPE(sequence) - - \brief Asserts that the sequence is a VMD type. - - The macro checks that the sequence is a VMD type. - If it is not a VMD type, it forces a compiler error. - - The macro normally checks for a VMD type only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - sequence = a possible VMD type. - - returns = Normally the macro returns nothing. - - If the sequence is a VMD type, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a VMD type the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - VMD type. - -*/ - -/** \def BOOST_VMD_ASSERT_IS_TYPE_D(d,sequence) - - \brief Asserts that the sequence is a VMD type. Re-entrant version. - - The macro checks that the sequence is a VMD type. - If it is not a VMD type, it forces a compiler error. - - The macro normally checks for a VMD type only in - debug mode. However an end-user can force the macro - to check or not check by defining the macro - BOOST_VMD_ASSERT_DATA to 1 or 0 respectively. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible VMD type. - - returns = Normally the macro returns nothing. - - If the sequence is a VMD type, nothing is - output. - - For VC++, because there is no sure way of forcing - a compiler error from within a macro without producing - output, if the sequence is not a VMD type the - macro forces a compiler error by outputting invalid C++. - - For all other compilers a compiler error is forced - without producing output if the sequence is not a - VMD type. - -*/ - -#if !BOOST_VMD_ASSERT_DATA - -#define BOOST_VMD_ASSERT_IS_TYPE(sequence) -#define BOOST_VMD_ASSERT_IS_TYPE_D(d,sequence) - -#else - -#include <boost/vmd/assert.hpp> -#include <boost/vmd/is_type.hpp> - -#define BOOST_VMD_ASSERT_IS_TYPE(sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_TYPE(sequence), \ - BOOST_VMD_IS_TYPE_ASSERT_ERROR \ - ) \ -/**/ - -#define BOOST_VMD_ASSERT_IS_TYPE_D(d,sequence) \ - BOOST_VMD_ASSERT \ - ( \ - BOOST_VMD_IS_TYPE_D(d,sequence), \ - BOOST_VMD_IS_TYPE_ASSERT_ERROR \ - ) \ -/**/ - -#endif // !BOOST_VMD_ASSERT_DATA - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ASSERT_IS_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/adjust_tuple_type.hpp b/contrib/restricted/boost/boost/vmd/detail/adjust_tuple_type.hpp deleted file mode 100644 index 6523b1a6fa1..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/adjust_tuple_type.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_HPP) -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/is_array_common.hpp> -#include <boost/vmd/detail/is_list.hpp> -#include <boost/vmd/detail/type_registration.hpp> - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_ARRAY(data,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX(data), \ - BOOST_VMD_TYPE_ARRAY, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_ARRAY_D(d,data,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D(d,data), \ - BOOST_VMD_TYPE_ARRAY, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_LIST(data,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_WLOOP(data), \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_ARRAY \ - ) \ - (data,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_LIST_D(d,data,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_WLOOP_D(d,data), \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_ARRAY_D \ - ) \ - (d,data,type) \ - ) \ -/**/ - -/* - - Input is any VMD data and a VMD type for that data - - If the type is a tuple, checks to see if it is a more specific - type and, if it is, returns that type, - otherwise returns the type passed as a parameter - -*/ - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(data,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(BOOST_VMD_TYPE_TUPLE,type), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_LIST, \ - BOOST_VMD_IDENTITY(type) \ - ) \ - (data,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,data,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,BOOST_VMD_TYPE_TUPLE,type), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_CHECK_LIST_D, \ - BOOST_VMD_IDENTITY(type) \ - ) \ - (d,data,type) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/array.hpp b/contrib/restricted/boost/boost/vmd/detail/array.hpp deleted file mode 100644 index cedc253d2b0..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/array.hpp +++ /dev/null @@ -1,189 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_ARRAY_HPP) -#define BOOST_VMD_DETAIL_ARRAY_HPP - -#include <boost/preprocessor/control/expr_iif.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/is_array_common.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/tuple.hpp> - -#define BOOST_VMD_DETAIL_ARRAY_CHECK_FOR_ARRAY(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_IDENTITY(tuple), \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_CHECK_FOR_ARRAY_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_IDENTITY(tuple), \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_PROCESS(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_ARRAY_CHECK_FOR_ARRAY \ - ) \ - (tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_PROCESS_D(d,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_ARRAY_CHECK_FOR_ARRAY_D \ - ) \ - (d,tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_SPLIT(param) \ - BOOST_VMD_DETAIL_ARRAY_PROCESS \ - ( \ - BOOST_VMD_DETAIL_TUPLE(param,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_SPLIT_D(d,param) \ - BOOST_VMD_DETAIL_ARRAY_PROCESS_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_TUPLE_D(d,param,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN_CHECK_FOR_ARRAY(tuple) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX(tuple), \ - tuple \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN_CHECK_FOR_ARRAY_D(d,tuple) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D(d,tuple), \ - tuple \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN_TUPLE(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_ARRAY_BEGIN_CHECK_FOR_ARRAY \ - ) \ - (tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN_TUPLE_D(d,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_ARRAY_BEGIN_CHECK_FOR_ARRAY_D \ - ) \ - (d,tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN(param) \ - BOOST_VMD_DETAIL_ARRAY_BEGIN_TUPLE \ - ( \ - BOOST_VMD_DETAIL_TUPLE(param) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_BEGIN_D(d,param) \ - BOOST_VMD_DETAIL_ARRAY_BEGIN_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_TUPLE_D(d,param) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_ARRAY_SPLIT, \ - BOOST_VMD_DETAIL_ARRAY_BEGIN \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_ARRAY_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_ARRAY_SPLIT_D, \ - BOOST_VMD_DETAIL_ARRAY_BEGIN_D \ - ) \ - (d,BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/assert.hpp b/contrib/restricted/boost/boost/vmd/detail/assert.hpp deleted file mode 100644 index c772c720fdc..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/assert.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_ASSERT_HPP) -#define BOOST_VMD_DETAIL_ASSERT_HPP - -#include <boost/preprocessor/debug/assert.hpp> -#include <boost/preprocessor/variadic/elem.hpp> - -#if BOOST_VMD_MSVC - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/if.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/variadic/size.hpp> -#include <boost/vmd/empty.hpp> - -#define BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_OUTPUT(errstr) \ - BOOST_PP_ASSERT(0) \ - typedef char errstr[-1]; \ -/**/ - -#define BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_DEFAULT(...) \ - BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_OUTPUT(BOOST_VMD_ASSERT_ERROR) \ -/**/ - -#define BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_ERRSTR(...) \ - BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_OUTPUT(BOOST_PP_VARIADIC_ELEM(1,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_ASSERT_TRUE(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL \ - ( \ - BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \ - 1 \ - ), \ - BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_DEFAULT, \ - BOOST_VMD_DETAIL_ASSERT_VC_GEN_ERROR_ERRSTR \ - ) \ - (__VA_ARGS__) \ -/**/ - -#define BOOST_VMD_DETAIL_ASSERT(...) \ - BOOST_PP_IF \ - ( \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_ASSERT_TRUE \ - ) \ - (__VA_ARGS__) \ -/**/ - -#else - -#define BOOST_VMD_DETAIL_ASSERT_DO(cond) \ - BOOST_PP_ASSERT(cond) \ -/**/ - -#define BOOST_VMD_DETAIL_ASSERT(...) \ - BOOST_VMD_DETAIL_ASSERT_DO(BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_MSVC */ -#endif /* BOOST_VMD_DETAIL_ASSERT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/data_equal.hpp b/contrib/restricted/boost/boost/vmd/detail/data_equal.hpp deleted file mode 100644 index f7b07cb4dcc..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/data_equal.hpp +++ /dev/null @@ -1,202 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_1.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_2.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_3.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_4.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_5.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_6.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_7.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_8.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_9.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_10.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_11.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_12.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_13.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_14.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_15.hpp> -#include <boost/vmd/detail/recurse/data_equal/data_equal_16.hpp> - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/data_equal_common.hpp b/contrib/restricted/boost/boost/vmd/detail/data_equal_common.hpp deleted file mode 100644 index edd8a4487b4..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/data_equal_common.hpp +++ /dev/null @@ -1,409 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_COMMON_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_COMMON_HPP - -#include <boost/preprocessor/arithmetic/inc.hpp> -#include <boost/preprocessor/array/elem.hpp> -#include <boost/preprocessor/array/size.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/list/at.hpp> -#include <boost/preprocessor/list/size.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/seq/elem.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/pop_front.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/preprocessor/tuple/replace.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/get_type.hpp> -#include <boost/vmd/detail/equal_type.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(vseq1,vseq2) \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq1), \ - BOOST_PP_IS_BEGIN_PARENS(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_ARRAY(d,index,data) \ - BOOST_PP_ARRAY_ELEM(index,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_LIST(d,index,data) \ - BOOST_PP_LIST_AT_D(d,data,index) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_SEQ(d,index,data) \ - BOOST_PP_SEQ_ELEM(index,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_TUPLE(d,index,data) \ - BOOST_PP_TUPLE_ELEM(index,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY(data) \ - BOOST_PP_ARRAY_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST(data) \ - BOOST_PP_LIST_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ(data) \ - BOOST_PP_SEQ_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE(data) \ - BOOST_PP_TUPLE_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY_D(d,data) \ - BOOST_PP_ARRAY_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST_D(d,data) \ - BOOST_PP_LIST_SIZE_D(d,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ_D(d,data) \ - BOOST_PP_SEQ_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE_D(d,data) \ - BOOST_PP_TUPLE_SIZE(data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM(d,index,data,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_ARRAY, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_LIST, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_SEQ, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_TUPLE \ - ) \ - ) \ - ) \ - (d,index,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(data,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE \ - ) \ - ) \ - ) \ - (data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,data,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY_D, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST_D, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE_D \ - ) \ - ) \ - ) \ - (d,data) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_RESULT(state) \ - BOOST_PP_TUPLE_ELEM(0,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_FIRST(state) \ - BOOST_PP_TUPLE_ELEM(1,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SECOND(state) \ - BOOST_PP_TUPLE_ELEM(2,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ - BOOST_PP_TUPLE_ELEM(3,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ - BOOST_PP_TUPLE_ELEM(4,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state) \ - BOOST_PP_TUPLE_ELEM(5,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state) \ - BOOST_PP_TUPLE_ELEM(6,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state) \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ - ), \ - BOOST_PP_COMPL(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state) \ - BOOST_VMD_IS_EMPTY(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_INDEX(state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_ELEM \ - ) \ - (0,BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_EMPTY(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 6, \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_REMOVE(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 6, \ - BOOST_PP_TUPLE_POP_FRONT(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)),1), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_EMPTY, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_REMOVE \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_CREATE(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 6, \ - (BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state)) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_ADD(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 6, \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_CREATE, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_ADD \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_INDEX, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX \ - ) \ - (state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM \ - ( \ - d, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_FIRST(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM \ - ( \ - d, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SECOND(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_PRED(d,state) \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_RESULT(state), \ - 1 \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_NOT_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ - ), \ - BOOST_PP_COMPL \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS_NCP(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 5, \ - BOOST_PP_INC(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP, \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS_NCP \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_FAILURE(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 0, \ - 0 \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT(d,state,result) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,result,0), \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_FAILURE, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,result,1), \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH \ - ) \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_TYPE(emf,ems,vtype) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_GET_TYPE(emf), \ - vtype \ - ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_GET_TYPE(ems), \ - vtype \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_TYPE_D(d,emf,ems,vtype) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_GET_TYPE(emf), \ - vtype \ - ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_GET_TYPE(ems), \ - vtype \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/empty_result.hpp b/contrib/restricted/boost/boost/vmd/detail/empty_result.hpp deleted file mode 100644 index e393f58d8e6..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/empty_result.hpp +++ /dev/null @@ -1,12 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EMPTY_RESULT_HPP) -#define BOOST_VMD_DETAIL_EMPTY_RESULT_HPP - -#define BOOST_VMD_DETAIL_EMPTY_RESULT(...) (,) - -#endif /* BOOST_VMD_DETAIL_EMPTY_RESULT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/equal.hpp b/contrib/restricted/boost/boost/vmd/detail/equal.hpp deleted file mode 100644 index ab7e91ecabf..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/equal.hpp +++ /dev/null @@ -1,562 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_HPP) -#define BOOST_VMD_DETAIL_EQUAL_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/detail/auto_rec.hpp> -#include <boost/preprocessor/facilities/empty.hpp> -#include <boost/preprocessor/facilities/overload.hpp> -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> -#include <boost/vmd/is_identifier.hpp> -#include <boost/vmd/is_empty_list.hpp> -#include <boost/vmd/detail/not_empty.hpp> - -#include <boost/vmd/detail/recurse/equal/equal_1.hpp> -#include <boost/vmd/detail/recurse/equal/equal_2.hpp> -#include <boost/vmd/detail/recurse/equal/equal_3.hpp> -#include <boost/vmd/detail/recurse/equal/equal_4.hpp> -#include <boost/vmd/detail/recurse/equal/equal_5.hpp> -#include <boost/vmd/detail/recurse/equal/equal_6.hpp> -#include <boost/vmd/detail/recurse/equal/equal_7.hpp> -#include <boost/vmd/detail/recurse/equal/equal_8.hpp> -#include <boost/vmd/detail/recurse/equal/equal_9.hpp> -#include <boost/vmd/detail/recurse/equal/equal_10.hpp> -#include <boost/vmd/detail/recurse/equal/equal_11.hpp> -#include <boost/vmd/detail/recurse/equal/equal_12.hpp> -#include <boost/vmd/detail/recurse/equal/equal_13.hpp> -#include <boost/vmd/detail/recurse/equal/equal_14.hpp> -#include <boost/vmd/detail/recurse/equal/equal_15.hpp> -#include <boost/vmd/detail/recurse/equal/equal_16.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_1(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_1_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_2(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_2_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_3(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_3_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_4(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_4_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_5(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_5_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_6(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_6_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_7(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_7_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_8(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_8_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_9(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_9_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_10(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_10_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_11(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_11_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_12(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_12_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_13(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_13_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_14(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_14_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_15(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_15_D(d,vseq1,vseq2) -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_16(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_16_D(d,vseq1,vseq2) - -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_AUTO_REC_D(n) \ - BOOST_VMD_DETAIL_EQUAL_IS_1 \ - ( \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_ ## n(1,,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_, \ - BOOST_PP_AUTO_REC(BOOST_VMD_DETAIL_EQUAL_SIMPLE_AUTO_REC_D,16) \ - ) \ -/**/ - - -#define BOOST_VMD_DETAIL_EQUAL_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE(vseq1,vtype1,type) \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_ARRAY, \ - vtype1 \ - ), \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_LIST, \ - vtype1 \ - ), \ - BOOST_PP_COMPL \ - ( \ - BOOST_VMD_IS_EMPTY_LIST(vseq1) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE_D(d,vseq1,vtype1,type) \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_ARRAY, \ - vtype1 \ - ), \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_LIST, \ - vtype1 \ - ), \ - BOOST_PP_COMPL \ - ( \ - BOOST_VMD_IS_EMPTY_LIST_D(d,vseq1) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER(vseq1,vtype1,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_IDENTIFIER, \ - type \ - ), \ - BOOST_VMD_IS_IDENTIFIER, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER_D(d,vseq1,vtype1,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_IDENTIFIER, \ - type \ - ), \ - BOOST_VMD_IS_IDENTIFIER_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK(vseq1,vtype1,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_TUPLE, \ - type \ - ), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE, \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER \ - ) \ - (vseq1,vtype1,type) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_D(d,vseq1,vtype1,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_TUPLE, \ - type \ - ), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE_D, \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER_D \ - ) \ - (d,vseq1,vtype1,type) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE(vseq1,vtype1,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - type \ - ), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK \ - ) \ - (vseq1,vtype1,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_D(d,vseq1,vtype1,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - type \ - ), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_D \ - ) \ - (d,vseq1,vtype1,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT_CHECK(vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(type), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE, \ - BOOST_VMD_IDENTITY(1) \ - ) \ - (vseq1,vtype1,type) \ - ) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(type), \ - BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_D, \ - BOOST_VMD_IDENTITY(1) \ - ) \ - (d,vseq1,vtype1,type) \ - ) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT_CONVERT(vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_DETAIL_EQUAL_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_DETAIL_EQUAL_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT(vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_WT_D(d,vseq1,vseq2,vtype1,vtype2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_GTYPE(vseq1,vseq2,type) \ - BOOST_VMD_DETAIL_EQUAL_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_GTYPE_D(d,vseq1,vseq2,type) \ - BOOST_VMD_DETAIL_EQUAL_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_EBP(vseq1,vseq2,be1,be2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_EBP_D(d,vseq1,vseq2,be1,be2,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,type) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_EMPTY(vseq1,vseq2,be1,be2,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_EBP \ - ) \ - (vseq1,vseq2,be1,be2,type) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_EMPTY_D(d,vseq1,vseq2,be1,be2,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2,type) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_OV1(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2), \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_OV2(vseq1,vseq2,type) \ - BOOST_VMD_DETAIL_EQUAL_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_D_OV1(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2), \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_D_OV2(d,vseq1,vseq2,type) \ - BOOST_VMD_DETAIL_EQUAL_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2), \ - type \ - ) \ -/**/ - -#if BOOST_VMD_MSVC - -#define BOOST_VMD_DETAIL_EQUAL(vseq1,...) \ - BOOST_PP_CAT(BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_OV,__VA_ARGS__)(vseq1,__VA_ARGS__),BOOST_PP_EMPTY()) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_D(d,vseq1,...) \ - BOOST_PP_CAT(BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_D_OV,__VA_ARGS__)(d,vseq1,__VA_ARGS__),BOOST_PP_EMPTY()) \ -/**/ - -#else - -#define BOOST_VMD_DETAIL_EQUAL(vseq1,...) \ - BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_OV,__VA_ARGS__)(vseq1,__VA_ARGS__) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_D(d,vseq1,...) \ - BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_D_OV,__VA_ARGS__)(d,vseq1,__VA_ARGS__) \ -/**/ - -#endif - -#endif /* BOOST_VMD_DETAIL_EQUAL_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/equal_common.hpp b/contrib/restricted/boost/boost/vmd/detail/equal_common.hpp deleted file mode 100644 index 776e099cf4a..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/equal_common.hpp +++ /dev/null @@ -1,153 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_COMMON_HPP) -#define BOOST_VMD_DETAIL_EQUAL_COMMON_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/comparison/not_equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/logical/bitxor.hpp> -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/get_type.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/match_single_identifier.hpp> -#include <boost/vmd/detail/equal_type.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_CONCAT_1 (1) - -#define BOOST_VMD_DETAIL_EQUAL_IS_1(res) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CONCAT_, \ - res \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_MATCH_SINGLE_IDENTIFIER(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(vseq1,vseq2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CNI_SMP(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_NUMBER), \ - BOOST_PP_EQUAL, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TYPE), \ - BOOST_VMD_DETAIL_EQUAL_TYPE, \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER \ - ) \ - ) \ - (vseq1,vseq2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_NUMBER), \ - BOOST_PP_EQUAL_D, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TYPE), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D, \ - BOOST_VMD_DETAIL_EQUAL_MATCH_SINGLE_IDENTIFIER \ - ) \ - ) \ - (d,vseq1,vseq2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_SIZE(vseq1,vseq2) \ - BOOST_PP_NOT_EQUAL \ - ( \ - BOOST_PP_TUPLE_SIZE(vseq1), \ - BOOST_PP_TUPLE_SIZE(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_SIZE_D(d,vseq1,vseq2) \ - BOOST_PP_NOT_EQUAL_D \ - ( \ - d, \ - BOOST_PP_TUPLE_SIZE(vseq1), \ - BOOST_PP_TUPLE_SIZE(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype1,BOOST_VMD_TYPE_TUPLE), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype2,BOOST_VMD_TYPE_TUPLE) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_SIZE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype1,BOOST_VMD_TYPE_TUPLE), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype2,BOOST_VMD_TYPE_TUPLE) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_SIZE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY(...) 1 - -#define BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(bp1,bp2) \ - BOOST_PP_COMPL \ - ( \ - BOOST_PP_BITXOR \ - ( \ - bp1, \ - bp2 \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq1), \ - BOOST_PP_IS_BEGIN_PARENS(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_CHK_EMPTY_MATCH(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH \ - ( \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/equal_type.hpp b/contrib/restricted/boost/boost/vmd/detail/equal_type.hpp deleted file mode 100644 index 504fd005805..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/equal_type.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_TYPE_HPP) -#define BOOST_VMD_DETAIL_EQUAL_TYPE_HPP - -#include <boost/vmd/detail/match_single_identifier.hpp> -#include <boost/vmd/detail/type_registration.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_TYPE(type1,type2) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(type1,type2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,type1,type2) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(type1,type2) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/identifier.hpp b/contrib/restricted/boost/boost/vmd/detail/identifier.hpp deleted file mode 100644 index 9ebc705c54c..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/identifier.hpp +++ /dev/null @@ -1,429 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IDENTIFIER_HPP) -#define BOOST_VMD_DETAIL_IDENTIFIER_HPP - -#include <boost/preprocessor/arithmetic/dec.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/expr_iif.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/identifier_concat.hpp> -#include <boost/vmd/detail/is_entire.hpp> -#include <boost/vmd/detail/match_identifier.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/parens.hpp> - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_SUCCESS(id,rest,keymatch,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_SUCCESS_MODS(id,rest,BOOST_PP_DEC(keymatch),mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_FAILURE(id,rest,keymatch,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_RESULT(id,rest,keymatch,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(keymatch,0), \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_FAILURE, \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_SUCCESS \ - ) \ - (id,rest,keymatch,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_RESULT_D(d,id,rest,keymatch,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,keymatch,0), \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_FAILURE, \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_SUCCESS \ - ) \ - (id,rest,keymatch,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE(id,rest,keytuple,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_RESULT \ - ( \ - id, \ - rest, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER(id,keytuple), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_D(d,id,rest,keytuple,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_RESULT_D \ - ( \ - d, \ - id, \ - rest, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_D(d,id,keytuple), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_MAKE_SPLIT(tuple) \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ), \ - BOOST_PP_TUPLE_ELEM(1,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE_CONCAT_DATA(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ), \ - BOOST_VMD_IDENTITY(tuple), \ - BOOST_VMD_DETAIL_IDENTIFIER_MAKE_SPLIT \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE_CONCAT(vcseq) \ - BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE_CONCAT_DATA \ - ( \ - BOOST_VMD_DETAIL_PARENS(vcseq,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_GETID_TID(tid) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tid), \ - BOOST_VMD_IDENTITY(tid), \ - BOOST_PP_TUPLE_ELEM \ - ) \ - (0,tid) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_GETID_SEQUENCE(vseq) \ - BOOST_VMD_DETAIL_IDENTIFIER_GETID_TID \ - ( \ - BOOST_VMD_DETAIL_PARENS(BOOST_VMD_DETAIL_IDENTIFIER_CONCATENATE(vseq)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE(vseq) \ - BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE_CONCAT \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_CONCATENATE(vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS(id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE \ - ( \ - id, \ - rest, \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(mods), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_D(d,id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_TUPLE_D \ - ( \ - d, \ - id, \ - rest, \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(mods), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_JUST(id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_SUCCESS_MODS(id,rest,0,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_JUST_D(d,id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_SUCCESS_MODS(id,rest,0,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS(id,rest,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(mods) \ - ), \ - BOOST_VMD_DETAIL_IDENTIFIER_JUST, \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS \ - ) \ - (id,rest,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS_D(d,id,rest,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(mods) \ - ), \ - BOOST_VMD_DETAIL_IDENTIFIER_JUST_D, \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_KEYS_D \ - ) \ - (d,id,rest,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_MKEYS(mods) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(mods), \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(mods) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SUCCESS_MODS(id,rest,keymatch,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_MKEYS(mods), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - (id,rest,keymatch), \ - (id,keymatch) \ - ), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - (id,rest), \ - id \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_MKEYS(mods), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - (,,), \ - (,) \ - ), \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - (,) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST(id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST_D(d,id,rest,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_ID_REST(id,rest,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(id), \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST, \ - BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS \ - ) \ - (id,rest,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_ID_REST_D(d,id,rest,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(id), \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST_D, \ - BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS_D \ - ) \ - (d,id,rest,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_DATA(tuple,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_ID_REST \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple), \ - BOOST_PP_TUPLE_ELEM(1,tuple), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_ID(id,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(id), \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST, \ - BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS \ - ) \ - (id,,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_ID_D(d,id,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(id), \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_REST_D, \ - BOOST_VMD_DETAIL_IDENTIFIER_CHECK_KEYS_D \ - ) \ - (d,id,,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_DATA_D(d,tuple,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_ID_REST_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM(0,tuple), \ - BOOST_PP_TUPLE_ELEM(1,tuple), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_AFTER(vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_DATA \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE(vseq), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_AFTER_D(d,vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_DATA_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_IDENTIFIER_SPLIT_SEQUENCE(vseq), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_ID(vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_ID \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_GETID_SEQUENCE(vseq), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_ID_D(d,vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_PROCESS_ID_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_IDENTIFIER_GETID_SEQUENCE(vseq), \ - mods \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE(vseq,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_AFTER, \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_ID \ - ) \ - (vseq,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_D(d,vseq,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(mods), \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_AFTER_D, \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_ID_D \ - ) \ - (d,vseq,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_EX_FAILURE(vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_EX_FAILURE_D(d,vseq,mods) \ - BOOST_VMD_DETAIL_IDENTIFIER_FAILURE_MODS(mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_EX(vseq,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_IS_EMPTY(vseq), \ - BOOST_PP_IS_BEGIN_PARENS(vseq) \ - ), \ - BOOST_VMD_DETAIL_IDENTIFIER_EX_FAILURE, \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE \ - ) \ - (vseq,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_EX_D(d,vseq,mods) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_IS_EMPTY(vseq), \ - BOOST_PP_IS_BEGIN_PARENS(vseq) \ - ), \ - BOOST_VMD_DETAIL_IDENTIFIER_EX_FAILURE_D, \ - BOOST_VMD_DETAIL_IDENTIFIER_SEQUENCE_D \ - ) \ - (d,vseq,mods) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER(...) \ - BOOST_VMD_DETAIL_IDENTIFIER_EX \ - ( \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_INDEX,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_D(d,...) \ - BOOST_VMD_DETAIL_IDENTIFIER_EX_D \ - ( \ - d, \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_INDEX,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_MULTIPLE(...) \ - BOOST_VMD_DETAIL_IS_ENTIRE \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER(__VA_ARGS__,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_MULTIPLE_D(d,...) \ - BOOST_VMD_DETAIL_IS_ENTIRE \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_D(d,__VA_ARGS__,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/identifier_concat.hpp b/contrib/restricted/boost/boost/vmd/detail/identifier_concat.hpp deleted file mode 100644 index 6fa596db0c0..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/identifier_concat.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IDENTIFIER_CONCAT_HPP) -#define BOOST_VMD_DETAIL_IDENTIFIER_CONCAT_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/vmd/detail/idprefix.hpp> - -#define BOOST_VMD_DETAIL_IDENTIFIER_CONCATENATE(vseq) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_REGISTRATION_PREFIX, \ - vseq \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IDENTIFIER_CONCAT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/identifier_type.hpp b/contrib/restricted/boost/boost/vmd/detail/identifier_type.hpp deleted file mode 100644 index ed7e4c15235..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/identifier_type.hpp +++ /dev/null @@ -1,118 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IDENTIFIER_TYPE_HPP) -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/detail/idprefix.hpp> -#include <boost/vmd/detail/number_registration.hpp> -#include <boost/vmd/detail/type_registration.hpp> - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCATENATE(id) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_SUBTYPE_REGISTRATION_PREFIX, \ - id \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_SIZE(cres) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL \ - ( \ - BOOST_PP_TUPLE_SIZE(cres), \ - 2 \ - ), \ - BOOST_PP_TUPLE_ELEM, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_IDENTIFIER) \ - ) \ - (0,cres) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_SIZE_D(d,cres) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_PP_TUPLE_SIZE(cres), \ - 2 \ - ), \ - BOOST_PP_TUPLE_ELEM, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_IDENTIFIER) \ - ) \ - (0,cres) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCAT(cres) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(cres), \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_SIZE, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_IDENTIFIER) \ - ) \ - (cres) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCAT_D(d,cres) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(cres), \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_SIZE_D, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_IDENTIFIER) \ - ) \ - (d,cres) \ - ) \ -/**/ - -/* - - Determines the type of an identifier. - - The type may be that of an identifier or else - it may be a subtype. - - Assumes the 'id' is a valid identifier id - - Expands to the appropriate type - -*/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE(id) \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCAT \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCATENATE(id) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IDENTIFIER_TYPE_D(d,id) \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCAT_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_CONCATENATE(id) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IDENTIFIER_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/idprefix.hpp b/contrib/restricted/boost/boost/vmd/detail/idprefix.hpp deleted file mode 100644 index e3b1ed60057..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/idprefix.hpp +++ /dev/null @@ -1,14 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IDPREFIX_HPP) -#define BOOST_VMD_DETAIL_IDPREFIX_HPP - -#define BOOST_VMD_DETAIL_IDENTIFIER_DETECTION_PREFIX BOOST_VMD_DETECT_ -#define BOOST_VMD_DETAIL_IDENTIFIER_REGISTRATION_PREFIX BOOST_VMD_REGISTER_ -#define BOOST_VMD_DETAIL_IDENTIFIER_SUBTYPE_REGISTRATION_PREFIX BOOST_VMD_SUBTYPE_REGISTER_ - -#endif /* BOOST_VMD_DETAIL_IDPREFIX_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_array.hpp b/contrib/restricted/boost/boost/vmd/detail/is_array.hpp deleted file mode 100644 index 83858640c89..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_array.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_ARRAY_HPP) -#define BOOST_VMD_DETAIL_IS_ARRAY_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/detail/is_array_common.hpp> - -#define BOOST_VMD_DETAIL_IS_ARRAY(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(vseq), \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_D(d,vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(vseq), \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_array_common.hpp b/contrib/restricted/boost/boost/vmd/detail/is_array_common.hpp deleted file mode 100644 index 77914aa4c7a..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_array_common.hpp +++ /dev/null @@ -1,248 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_ARRAY_COMMON_HPP) -#define BOOST_VMD_DETAIL_IS_ARRAY_COMMON_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/if.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/facilities/empty.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_number.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/detail/is_empty_tuple.hpp> - -#define BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(2,BOOST_PP_TUPLE_SIZE(tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_ARRAY_FORM, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,2,BOOST_PP_TUPLE_SIZE(tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_ARRAY_FORM_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -/* - - Check if the first element of the tuple is equal to the number of tuple elements of the second element - -*/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_SIZE(x) \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_ELEM(0,x),BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_ELEM(1,x))) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_SIZE_D(d,x) \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_ELEM(0,x),BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_ELEM(1,x))) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_EMPTY(tuple) \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE(BOOST_PP_TUPLE_ELEM(1,tuple)) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_EMPTY_D(d,tuple) \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE(BOOST_PP_TUPLE_ELEM(1,tuple)) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH(tuple) \ - BOOST_PP_IF \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_SIZE, \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_EMPTY \ - ) \ - (tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_D(d,tuple) \ - BOOST_PP_IF \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_SIZE_D, \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_EMPTY_D \ - ) \ - (d,tuple) \ -/**/ - -/* - - Check if the first element is numeric - -*/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_NUM(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_NUM(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_MATCH_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMBER(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_NUMBER(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMBER_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_NUMBER(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMERIC_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -/* - - Check if the second element is a tuple - -*/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_ARRAY_FORM(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(BOOST_PP_TUPLE_ELEM(1,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMBER, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_CHECK_ARRAY_FORM_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(BOOST_PP_TUPLE_ELEM(1,tuple)), \ - BOOST_VMD_DETAIL_IS_ARRAY_CHECK_NUMBER_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM(x) BOOST_VMD_IS_EMPTY(BOOST_PP_CAT(BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_, x) BOOST_PP_EMPTY()) -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_0 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_1 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_2 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_3 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_4 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_5 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_6 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_7 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_8 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_9 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_10 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_11 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_12 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_13 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_14 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_15 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_16 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_17 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_18 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_19 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_20 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_21 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_22 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_23 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_24 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_25 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_26 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_27 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_28 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_29 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_30 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_31 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_32 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_33 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_34 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_35 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_36 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_37 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_38 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_39 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_40 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_41 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_42 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_43 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_44 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_45 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_46 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_47 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_48 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_49 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_50 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_51 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_52 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_53 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_54 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_55 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_56 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_57 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_58 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_59 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_60 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_61 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_62 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_63 -#define BOOST_VMD_DETAIL_IS_ARRAY_NUM_HELPER_64 - -#endif /* BOOST_VMD_DETAIL_IS_ARRAY_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_empty.hpp b/contrib/restricted/boost/boost/vmd/detail/is_empty.hpp deleted file mode 100644 index ddec5acb74b..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_empty.hpp +++ /dev/null @@ -1,61 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_EMPTY_HPP) -#define BOOST_VMD_DETAIL_IS_EMPTY_HPP - -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> - -#if BOOST_VMD_MSVC - -# pragma warning(once:4002) - -#define BOOST_VMD_DETAIL_IS_EMPTY_IIF_0(t, b) b -#define BOOST_VMD_DETAIL_IS_EMPTY_IIF_1(t, b) t - -#if BOOST_VMD_MSVC_V8 - -#define BOOST_VMD_DETAIL_IS_EMPTY_PROCESS(param) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \ - ) \ -/**/ - -#else - -#define BOOST_VMD_DETAIL_IS_EMPTY_PROCESS(...) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \ - ) \ -/**/ - -#endif - -#else - -#define BOOST_VMD_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__ -#define BOOST_VMD_DETAIL_IS_EMPTY_IIF_1(t, ...) t - -#define BOOST_VMD_DETAIL_IS_EMPTY_PROCESS(...) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \ - ) \ -/**/ - -#endif /* BOOST_VMD_MSVC */ - -#define BOOST_VMD_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b -#define BOOST_VMD_DETAIL_IS_EMPTY_IIF(bit) \ - BOOST_VMD_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_VMD_DETAIL_IS_EMPTY_IIF_,bit) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) () -#define BOOST_VMD_DETAIL_IS_EMPTY_GEN_ZERO(...) 0 - -#endif /* BOOST_VMD_DETAIL_IS_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_empty_array.hpp b/contrib/restricted/boost/boost/vmd/detail/is_empty_array.hpp deleted file mode 100644 index d9ff9fdef0a..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_empty_array.hpp +++ /dev/null @@ -1,20 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_HPP) -#define BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_HPP - -#include <boost/preprocessor/array/size.hpp> -#include <boost/preprocessor/logical/not.hpp> - -#define BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_SIZE(array) \ - BOOST_PP_NOT \ - ( \ - BOOST_PP_ARRAY_SIZE(array) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_empty_tuple.hpp b/contrib/restricted/boost/boost/vmd/detail/is_empty_tuple.hpp deleted file mode 100644 index dc07681653e..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_empty_tuple.hpp +++ /dev/null @@ -1,74 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_HPP) -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_HPP - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_tuple.hpp> - -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_CEM(tuple) \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_CEM, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_CEM, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(tuple), \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_D(d,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(tuple), \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_SIZE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_entire.hpp b/contrib/restricted/boost/boost/vmd/detail/is_entire.hpp deleted file mode 100644 index 358e7d9e034..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_entire.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_ENTIRE_HPP) -#define BOOST_VMD_DETAIL_IS_ENTIRE_HPP - -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/not_empty.hpp> - -#define BOOST_VMD_DETAIL_IS_ENTIRE(tuple) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1,tuple)) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_ENTIRE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_identifier.hpp b/contrib/restricted/boost/boost/vmd/detail/is_identifier.hpp deleted file mode 100644 index 92dace090fe..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_identifier.hpp +++ /dev/null @@ -1,96 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_IDENTIFIER_HPP) -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_HPP - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/variadic/size.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/detail/identifier.hpp> -#include <boost/vmd/detail/identifier_concat.hpp> -#include <boost/vmd/detail/not_empty.hpp> - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_MATCH(tup) \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tup) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_TUPLE(ptup) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(ptup), \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_MATCH, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (ptup) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_ID(vseq) \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_TUPLE \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_CONCATENATE(vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_IS_EMPTY(vseq), \ - BOOST_PP_IS_BEGIN_PARENS(vseq) \ - ), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ_ID \ - ) \ - (vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE(...) \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ(BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE_D(d,...) \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_VSEQ(BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),1), \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE, \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_MULTIPLE \ - ) \ - (__VA_ARGS__) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_IDENTIFIER_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),1), \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE_D, \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_MULTIPLE_D \ - ) \ - (d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_list.hpp b/contrib/restricted/boost/boost/vmd/detail/is_list.hpp deleted file mode 100644 index 0a99499a858..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_list.hpp +++ /dev/null @@ -1,207 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_LIST_HPP) -#define BOOST_VMD_DETAIL_IS_LIST_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/debug/assert.hpp> -#include <boost/preprocessor/facilities/empty.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/preprocessor/variadic/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_identifier.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/detail/nil_registration.hpp> - -#define BOOST_VMD_DETAIL_IS_LIST_PROCESS_TUPLE(d,x) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_TUPLE(x), \ - BOOST_VMD_DETAIL_IS_LIST_PROCESS_TUPLE_SIZE, \ - BOOST_VMD_DETAIL_IS_LIST_ASSERT \ - ) \ - (d,x) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_PROCESS_TUPLE_SIZE(d,x) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,2,BOOST_PP_TUPLE_SIZE(x)), \ - BOOST_VMD_DETAIL_IS_LIST_RETURN_SECOND, \ - BOOST_VMD_DETAIL_IS_LIST_ASSERT \ - ) \ - (x) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_PRED(d,state) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(state), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_DETAIL_IS_LIST_NOT_BOOST_PP_NIL \ - ) \ - (state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_OP(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(state), \ - BOOST_VMD_DETAIL_IS_LIST_PROCESS_TUPLE, \ - BOOST_VMD_DETAIL_IS_LIST_PROCESS_IF_BOOST_PP_NIL \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_PROCESS_IF_BOOST_PP_NIL(d,x) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_BOOST_PP_NIL(x), \ - BOOST_PP_NIL, \ - BOOST_VMD_IS_LIST_FAILURE \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_ASSERT(...) \ - BOOST_VMD_IS_LIST_FAILURE \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_NOT_BOOST_PP_NIL(x) \ - BOOST_PP_COMPL \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_BOOST_PP_NIL(x), \ - BOOST_VMD_DETAIL_IS_LIST_IS_FAILURE(x) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_BOOST_PP_NIL(x) \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_NIL_HELPER_, \ - x \ - ) BOOST_PP_EMPTY() \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_NIL_HELPER_BOOST_PP_NIL - -#define BOOST_VMD_DETAIL_IS_LIST_IS_FAILURE(x) \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_CAT(BOOST_VMD_DETAIL_IS_LIST_FHELPER_,x) BOOST_PP_EMPTY() \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_FHELPER_BOOST_VMD_IS_LIST_FAILURE - -#define BOOST_VMD_DETAIL_IS_LIST_RETURN_SECOND(x) \ - BOOST_PP_TUPLE_ELEM(1,x) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_RESULT(x) \ - BOOST_PP_COMPL \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_IS_FAILURE(x) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_WLOOP(list) \ - BOOST_VMD_DETAIL_IS_LIST_RESULT \ - ( \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_PRED, \ - BOOST_VMD_DETAIL_IS_LIST_OP, \ - list \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_WLOOP_D(d,list) \ - BOOST_VMD_DETAIL_IS_LIST_RESULT \ - ( \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_PRED, \ - BOOST_VMD_DETAIL_IS_LIST_OP, \ - list \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS(list) \ - BOOST_VMD_IS_IDENTIFIER(list,BOOST_PP_NIL) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS_D(d,list) \ - BOOST_VMD_IS_IDENTIFIER_D(d,list,BOOST_PP_NIL) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_PROCESS(param) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(param), \ - BOOST_VMD_DETAIL_IS_LIST_WLOOP, \ - BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS \ - ) \ - (param) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST(param) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(param), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_IS_LIST_PROCESS \ - ) \ - (param) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_PROCESS_D(d,param) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(param), \ - BOOST_VMD_DETAIL_IS_LIST_WLOOP_D, \ - BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS_D \ - ) \ - (d,param) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_LIST_D(d,param) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(param), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_IS_LIST_PROCESS_D \ - ) \ - (d,param) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_number.hpp b/contrib/restricted/boost/boost/vmd/detail/is_number.hpp deleted file mode 100644 index b4a1d81cd84..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_number.hpp +++ /dev/null @@ -1,38 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_NUMBER_HPP) -#define BOOST_VMD_DETAIL_IS_NUMBER_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/identifier_type.hpp> -#include <boost/vmd/detail/is_identifier.hpp> -#include <boost/vmd/detail/number_registration.hpp> - -#define BOOST_VMD_DETAIL_IS_NUMBER_TYPE(vseq) \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_NUMBER, \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE(vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_NUMBER(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE(vseq), \ - BOOST_VMD_DETAIL_IS_NUMBER_TYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_NUMBER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_seq.hpp b/contrib/restricted/boost/boost/vmd/detail/is_seq.hpp deleted file mode 100644 index d8c46bffead..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_seq.hpp +++ /dev/null @@ -1,27 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_SEQ_HPP) -#define BOOST_VMD_DETAIL_IS_SEQ_HPP - -#include <boost/vmd/detail/is_entire.hpp> -#include <boost/vmd/detail/seq.hpp> - -#define BOOST_VMD_DETAIL_IS_SEQ(seq) \ - BOOST_VMD_DETAIL_IS_ENTIRE \ - ( \ - BOOST_VMD_DETAIL_SEQ_SPLIT(seq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_SEQ_D(d,seq) \ - BOOST_VMD_DETAIL_IS_ENTIRE \ - ( \ - BOOST_VMD_DETAIL_SEQ_SPLIT_D(d,seq) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_tuple.hpp b/contrib/restricted/boost/boost/vmd/detail/is_tuple.hpp deleted file mode 100644 index 98bf8ecacba..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_tuple.hpp +++ /dev/null @@ -1,20 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_TUPLE_HPP) -#define BOOST_VMD_DETAIL_IS_TUPLE_HPP - -#include <boost/vmd/detail/is_entire.hpp> -#include <boost/vmd/detail/parens_split.hpp> - -#define BOOST_VMD_DETAIL_IS_TUPLE(vseq) \ - BOOST_VMD_DETAIL_IS_ENTIRE \ - ( \ - BOOST_VMD_DETAIL_PARENS_SPLIT(vseq) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_type.hpp b/contrib/restricted/boost/boost/vmd/detail/is_type.hpp deleted file mode 100644 index 067f684e8b7..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_type.hpp +++ /dev/null @@ -1,57 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_TYPE_HPP) -#define BOOST_VMD_DETAIL_IS_TYPE_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/identifier_type.hpp> -#include <boost/vmd/detail/is_type_type.hpp> -#include <boost/vmd/detail/is_identifier.hpp> -#include <boost/vmd/detail/type_registration.hpp> - -#define BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE(vseq) \ - BOOST_VMD_DETAIL_IS_TYPE_TYPE \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE(vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE_D(d,vseq) \ - BOOST_VMD_DETAIL_IS_TYPE_TYPE \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_D(d,vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_TYPE(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE(vseq), \ - BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_TYPE_D(d,vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE_D(d,vseq), \ - BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/is_type_type.hpp b/contrib/restricted/boost/boost/vmd/detail/is_type_type.hpp deleted file mode 100644 index 0b8ed6cce01..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/is_type_type.hpp +++ /dev/null @@ -1,25 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_TYPE_TYPE_HPP) -#define BOOST_VMD_DETAIL_IS_TYPE_TYPE_HPP - -#include <boost/vmd/detail/type_registration.hpp> -#include <boost/vmd/detail/match_single_identifier.hpp> - -/* - - Check to see if the 'id' is BOOST_VMD_TYPE_TYPE - - Returns 1 if it is, else 0 - -*/ - -#define BOOST_VMD_DETAIL_IS_TYPE_TYPE(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_TYPE_TYPE) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_IS_TYPE_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/list.hpp b/contrib/restricted/boost/boost/vmd/detail/list.hpp deleted file mode 100644 index 815471ba3c3..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/list.hpp +++ /dev/null @@ -1,212 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_LIST_HPP) -#define BOOST_VMD_DETAIL_LIST_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/pop_back.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/identifier.hpp> -#include <boost/vmd/detail/is_list.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/parens.hpp> - -#define BOOST_VMD_DETAIL_LIST_CHECK_FOR_LIST(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - tuple, \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_CHECK_FOR_LIST_D(d,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - tuple, \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_CHECK_RETURN(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_LIST_CHECK_FOR_LIST \ - ) \ - (tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_CHECK_RETURN_D(d,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - tuple \ - ) \ - ), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_LIST_CHECK_FOR_LIST_D \ - ) \ - (d,tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_EMPTY_LIST(list) \ - BOOST_VMD_DETAIL_IDENTIFIER(list,BOOST_PP_NIL,BOOST_VMD_RETURN_AFTER,BOOST_VMD_RETURN_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_EMPTY_LIST_D(d,list) \ - BOOST_VMD_DETAIL_IDENTIFIER_D(d,list,BOOST_PP_NIL,BOOST_VMD_RETURN_AFTER,BOOST_VMD_RETURN_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_TUPLE(param) \ - BOOST_VMD_DETAIL_LIST_CHECK_RETURN \ - ( \ - BOOST_VMD_DETAIL_PARENS(param,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_TUPLE_D(d,param) \ - BOOST_VMD_DETAIL_LIST_CHECK_RETURN_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_PARENS_D(d,param,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_EMPTY_PROCESS(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ), \ - (,), \ - tuple \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_EMPTY(list) \ - BOOST_VMD_DETAIL_LIST_EMPTY_PROCESS \ - ( \ - BOOST_VMD_DETAIL_LIST_EMPTY_LIST(list) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_EMPTY_D(d,list) \ - BOOST_VMD_DETAIL_LIST_EMPTY_PROCESS \ - ( \ - BOOST_VMD_DETAIL_LIST_EMPTY_LIST_D(d,list) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_PROCESS(list) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(list), \ - BOOST_VMD_DETAIL_LIST_TUPLE, \ - BOOST_VMD_DETAIL_LIST_EMPTY \ - ) \ - (list) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_SPLIT(list) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(list), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_LIST_PROCESS \ - ) \ - (list) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_BEGIN(list) \ - BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_LIST_SPLIT(list)) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_PROCESS_D(d,list) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(list), \ - BOOST_VMD_DETAIL_LIST_TUPLE_D, \ - BOOST_VMD_DETAIL_LIST_EMPTY_D \ - ) \ - (d,list) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_SPLIT_D(d,list) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(list), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_LIST_PROCESS_D \ - ) \ - (d,list) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_BEGIN_D(d,list) \ - BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_LIST_SPLIT_D(d,list)) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_LIST_SPLIT_D, \ - BOOST_VMD_DETAIL_LIST_BEGIN_D \ - ) \ - (d,BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_LIST(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_LIST_SPLIT, \ - BOOST_VMD_DETAIL_LIST_BEGIN \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/match_identifier.hpp b/contrib/restricted/boost/boost/vmd/detail/match_identifier.hpp deleted file mode 100644 index 0b234b2d5fc..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/match_identifier.hpp +++ /dev/null @@ -1,160 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_MATCH_IDENTIFIER_HPP) -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_HPP - -#include <boost/preprocessor/arithmetic/inc.hpp> -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/comparison/not_equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/replace.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/idprefix.hpp> -#include <boost/vmd/detail/match_identifier_common.hpp> - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_ID(state) \ - BOOST_PP_TUPLE_ELEM(0,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_TUPLE(state) \ - BOOST_PP_TUPLE_ELEM(1,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_TUPLE_SIZE(state) \ - BOOST_PP_TUPLE_ELEM(2,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_CURRENT(state) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_INDEX(state), \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_TUPLE(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_INDEX(state) \ - BOOST_PP_TUPLE_ELEM(3,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_RESULT(state) \ - BOOST_PP_TUPLE_ELEM(4,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_PRED(d,state) \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_RESULT(state), \ - 0 \ - ), \ - BOOST_PP_NOT_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_INDEX(state), \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_TUPLE_SIZE(state) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_FOUND(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 4, \ - BOOST_PP_INC \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_INDEX(state) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CONTINUE(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - 3, \ - BOOST_PP_INC \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_INDEX(state) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CMP_IDS \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_ID(state), \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_STATE_KEY_CURRENT(state) \ - ), \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_FOUND, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CONTINUE \ - ) \ - (d,state) \ -/**/ - -/* - - Return index starting with 1 of the tuple id the identifier matches, or 0 if there are no matches. - -*/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER(id,keytuple) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 4, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_PRED, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP, \ - ( \ - id, \ - keytuple, \ - BOOST_PP_TUPLE_SIZE(keytuple), \ - 0, \ - 0 \ - ) \ - ) \ - ) \ -/**/ - -/* - - Return index starting with 1 of the tuple id the identifier matches, or 0 if there are no matches. - -*/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_D(d,id,keytuple) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 4, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_PRED, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP, \ - ( \ - id, \ - keytuple, \ - BOOST_PP_TUPLE_SIZE(keytuple), \ - 0, \ - 0 \ - ) \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_MATCH_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/match_identifier_common.hpp b/contrib/restricted/boost/boost/vmd/detail/match_identifier_common.hpp deleted file mode 100644 index 18e7a578d0e..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/match_identifier_common.hpp +++ /dev/null @@ -1,37 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_MATCH_IDENTIFIER_COMMON_HPP) -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_COMMON_HPP - -#include <boost/preprocessor/cat.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/idprefix.hpp> - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CREATE_ID_RESULT(id,keyid) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_IDENTIFIER_DETECTION_PREFIX, \ - BOOST_PP_CAT \ - ( \ - keyid, \ - BOOST_PP_CAT \ - ( \ - _, \ - id \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CMP_IDS(id,keyid) \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CREATE_ID_RESULT(id,keyid) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_MATCH_IDENTIFIER_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/match_single_identifier.hpp b/contrib/restricted/boost/boost/vmd/detail/match_single_identifier.hpp deleted file mode 100644 index 0913d9f3f63..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/match_single_identifier.hpp +++ /dev/null @@ -1,16 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER_HPP) -#define BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER_HPP - -#include <boost/vmd/detail/match_identifier_common.hpp> - -#define BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,key) \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_OP_CMP_IDS(id,key) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/modifiers.hpp b/contrib/restricted/boost/boost/vmd/detail/modifiers.hpp deleted file mode 100644 index c5d46c0a37b..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/modifiers.hpp +++ /dev/null @@ -1,104 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_MODIFIERS_HPP) -#define BOOST_VMD_DETAIL_MODIFIERS_HPP - -#include <boost/vmd/detail/match_single_identifier.hpp> - -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_TYPE (BOOST_VMD_RETURN_NO_TYPE) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE (BOOST_VMD_RETURN_TYPE) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_TUPLE (BOOST_VMD_RETURN_TYPE_TUPLE) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_ARRAY (BOOST_VMD_RETURN_TYPE_ARRAY) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_LIST (BOOST_VMD_RETURN_TYPE_LIST) - -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_AFTER (BOOST_VMD_RETURN_AFTER) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_AFTER (BOOST_VMD_RETURN_NO_AFTER) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_ONLY_AFTER (BOOST_VMD_RETURN_ONLY_AFTER) - -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_INDEX (BOOST_VMD_RETURN_INDEX) -#define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_INDEX (BOOST_VMD_RETURN_NO_INDEX) - -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_TYPE_BOOST_VMD_RETURN_NO_TYPE -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_BOOST_VMD_RETURN_TYPE -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_TUPLE_BOOST_VMD_RETURN_TYPE_TUPLE -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_ARRAY_BOOST_VMD_RETURN_TYPE_ARRAY -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_LIST_BOOST_VMD_RETURN_TYPE_LIST - -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_AFTER_BOOST_VMD_RETURN_AFTER -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_AFTER_BOOST_VMD_RETURN_NO_AFTER -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_ONLY_AFTER_BOOST_VMD_RETURN_ONLY_AFTER - -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_INDEX_BOOST_VMD_RETURN_INDEX -#define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_INDEX_BOOST_VMD_RETURN_NO_INDEX - -#define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_ALL (BOOST_VMD_ALLOW_ALL) -#define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_RETURN (BOOST_VMD_ALLOW_RETURN) -#define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_AFTER (BOOST_VMD_ALLOW_AFTER) -#define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_INDEX (BOOST_VMD_ALLOW_INDEX) - -#define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_ALL_BOOST_VMD_ALLOW_ALL -#define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_RETURN_BOOST_VMD_ALLOW_RETURN -#define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_AFTER_BOOST_VMD_ALLOW_AFTER -#define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_INDEX_BOOST_VMD_ALLOW_INDEX - -#define BOOST_VMD_DETAIL_IS_RETURN_TYPE_TUPLE(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_TUPLE) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_TYPE_ARRAY(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_ARRAY) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_TYPE_LIST(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_LIST) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_TYPE(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_NO_TYPE(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_TYPE) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_AFTER(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_AFTER) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_ONLY_AFTER(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_ONLY_AFTER) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_NO_AFTER(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_AFTER) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_INDEX(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_RETURN_NO_INDEX(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ALLOW_ALL(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_ALL) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ALLOW_RETURN(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_RETURN) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ALLOW_AFTER(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_AFTER) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_ALLOW_INDEX(id) \ - BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_INDEX) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_MODIFIERS_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/mods.hpp b/contrib/restricted/boost/boost/vmd/detail/mods.hpp deleted file mode 100644 index 84173f48462..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/mods.hpp +++ /dev/null @@ -1,707 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_MODS_HPP) -#define BOOST_VMD_DETAIL_MODS_HPP - -#include <boost/preprocessor/arithmetic/inc.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/comparison/greater.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/pop_front.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/preprocessor/tuple/replace.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/preprocessor/variadic/to_tuple.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_type.hpp> -#include <boost/vmd/detail/modifiers.hpp> - -#define BOOST_VMD_DETAIL_MODS_NO_RETURN 0 -#define BOOST_VMD_DETAIL_MODS_RETURN 1 -#define BOOST_VMD_DETAIL_MODS_RETURN_TUPLE 2 -#define BOOST_VMD_DETAIL_MODS_RETURN_ARRAY 3 -#define BOOST_VMD_DETAIL_MODS_RETURN_LIST 4 -#define BOOST_VMD_DETAIL_MODS_NO_AFTER 0 -#define BOOST_VMD_DETAIL_MODS_RETURN_AFTER 1 -#define BOOST_VMD_DETAIL_MODS_NO_INDEX 0 -#define BOOST_VMD_DETAIL_MODS_RETURN_INDEX 1 -#define BOOST_VMD_DETAIL_MODS_NO_ONLY_AFTER 0 -#define BOOST_VMD_DETAIL_MODS_RETURN_ONLY_AFTER 1 - -#define BOOST_VMD_DETAIL_MODS_TUPLE_RETURN 0 -#define BOOST_VMD_DETAIL_MODS_TUPLE_AFTER 1 -#define BOOST_VMD_DETAIL_MODS_TUPLE_INDEX 2 -#define BOOST_VMD_DETAIL_MODS_TUPLE_OTHER 3 -#define BOOST_VMD_DETAIL_MODS_TUPLE_ONLY_AFTER 4 -#define BOOST_VMD_DETAIL_MODS_TUPLE_TYPE 5 - -#define BOOST_VMD_DETAIL_MODS_DATA_INPUT 0 -#define BOOST_VMD_DETAIL_MODS_DATA_INDEX 1 -#define BOOST_VMD_DETAIL_MODS_DATA_SIZE 2 -#define BOOST_VMD_DETAIL_MODS_DATA_RESULT 3 -#define BOOST_VMD_DETAIL_MODS_DATA_ALLOW 4 - -#define BOOST_VMD_DETAIL_MODS_STATE_INPUT(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_DATA_INPUT,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_INDEX(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_DATA_INDEX,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_SIZE(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_DATA_SIZE,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_RESULT(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_DATA_RESULT,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_ALLOW(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_DATA_ALLOW,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_ALL(state) \ - BOOST_VMD_DETAIL_IS_ALLOW_ALL(BOOST_VMD_DETAIL_MODS_STATE_ALLOW(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_RETURN(state) \ - BOOST_VMD_DETAIL_IS_ALLOW_RETURN(BOOST_VMD_DETAIL_MODS_STATE_ALLOW(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_AFTER(state) \ - BOOST_VMD_DETAIL_IS_ALLOW_AFTER(BOOST_VMD_DETAIL_MODS_STATE_ALLOW(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_INDEX(state) \ - BOOST_VMD_DETAIL_IS_ALLOW_INDEX(BOOST_VMD_DETAIL_MODS_STATE_ALLOW(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_CURRENT(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_STATE_INDEX(state),BOOST_VMD_DETAIL_MODS_STATE_INPUT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_TYPE(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_RETURN,BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_AFTER(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_AFTER,BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_ONLY_AFTER(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_ONLY_AFTER,BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_STATE_TINDEX(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_INDEX,BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_RESULT_RETURN_TYPE(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_RETURN,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_AFTER,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_ONLY_AFTER,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_INDEX,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_RESULT_OTHER(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_OTHER,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_RESULT_TYPE(result) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_MODS_TUPLE_TYPE,result) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_PRED(d,state) \ - BOOST_PP_GREATER_D(d,BOOST_VMD_DETAIL_MODS_STATE_SIZE(state),BOOST_VMD_DETAIL_MODS_STATE_INDEX(state)) -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,number) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_RETURN, \ - number \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ONLY_AFTER(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_ONLY_AFTER, \ - 1 \ - ), \ - BOOST_VMD_DETAIL_MODS_TUPLE_AFTER, \ - 1 \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_INDEX(d,state,number) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_INDEX, \ - number \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_GTT(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,BOOST_VMD_DETAIL_MODS_RETURN_TUPLE) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ET(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,BOOST_VMD_DETAIL_MODS_RETURN) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_SA(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,BOOST_VMD_DETAIL_MODS_RETURN_ARRAY) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_SL(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,BOOST_VMD_DETAIL_MODS_RETURN_LIST) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_NT(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_RETURN_TYPE(d,state,BOOST_VMD_DETAIL_MODS_NO_RETURN) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_AFT(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_AFTER, \ - BOOST_VMD_DETAIL_MODS_RETURN_AFTER \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_NOAFT(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_ONLY_AFTER, \ - 0 \ - ), \ - BOOST_VMD_DETAIL_MODS_TUPLE_AFTER, \ - BOOST_VMD_DETAIL_MODS_NO_AFTER \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_IND(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_INDEX(d,state,BOOST_VMD_DETAIL_MODS_RETURN_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_NO_IND(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_INDEX(d,state,BOOST_VMD_DETAIL_MODS_NO_INDEX) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE_REPLACE(d,state,id) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_OTHER, \ - BOOST_PP_VARIADIC_TO_TUPLE(id) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE_ADD(d,state,id) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_OTHER, \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)), \ - id \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(BOOST_VMD_DETAIL_MODS_STATE_RESULT(state)) \ - ), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE_REPLACE, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE_ADD \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_TYPE_RETURN(d,state,id) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_RETURN, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,id,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_MODS_RETURN_ARRAY, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,id,BOOST_VMD_TYPE_LIST), \ - BOOST_VMD_DETAIL_MODS_RETURN_LIST, \ - BOOST_VMD_DETAIL_MODS_RETURN_TUPLE \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_TYPE(d,state,id) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_TYPE_RETURN(d,state,id), \ - BOOST_VMD_DETAIL_MODS_TUPLE_TYPE, \ - id \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_ALL(state), \ - BOOST_VMD_IS_TYPE_D(d,id) \ - ), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_TYPE, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN_CTUPLE \ - ) \ - (d,state,id) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE(d,state) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_INDEX, \ - BOOST_PP_INC(BOOST_VMD_DETAIL_MODS_STATE_INDEX(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_ALL(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_TUPLE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_GTT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ET, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_ARRAY(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_SA, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_LIST(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_SL, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_TYPE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_AFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NOAFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_ONLY_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ONLY_AFTER, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_INDEX(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_IND, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_INDEX(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NO_IND, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN \ - ) \ - ) \ - ) \ - ) \ - ) \ - ) \ - ) \ - ) \ - ) \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_RETURN(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_TUPLE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_GTT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ET, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_ARRAY(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_SA, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_TYPE_LIST(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_SL, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_TYPE(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NT, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN \ - ) \ - ) \ - ) \ - ) \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_AFTER(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_AFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NOAFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_ONLY_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ONLY_AFTER, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN \ - ) \ - ) \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_INDEX(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_AFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NOAFT, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_ONLY_AFTER(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ONLY_AFTER, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_INDEX(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_IND, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_RETURN_NO_INDEX(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_NO_IND, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UNKNOWN \ - ) \ - ) \ - ) \ - ) \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_UPDATE(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE(d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_ID(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_ALL(state), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_ALL, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_RETURN(state), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_RETURN, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_AFTER(state), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_AFTER, \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_STATE_IS_ALLOW_INDEX(state), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_INDEX, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ALLOW_UPDATE \ - ) \ - ) \ - ) \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT_TUPLE(d,state,id) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_UPDATE \ - ( \ - d, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_MODS_DATA_RESULT, \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_MODS_TUPLE_OTHER, \ - id \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP_CURRENT(d,state,id) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(id), \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_TUPLE, \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT_ID \ - ) \ - (d,state,id) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_OP(d,state) \ - BOOST_VMD_DETAIL_MODS_OP_CURRENT(d,state,BOOST_VMD_DETAIL_MODS_STATE_CURRENT(state)) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_LOOP(allow,tuple) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 3, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_MODS_PRED, \ - BOOST_VMD_DETAIL_MODS_OP, \ - ( \ - tuple, \ - 0, \ - BOOST_PP_TUPLE_SIZE(tuple), \ - (0,0,0,,0,), \ - allow \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_MODS_LOOP_D(d,allow,tuple) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 3, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_MODS_PRED, \ - BOOST_VMD_DETAIL_MODS_OP, \ - ( \ - tuple, \ - 0, \ - BOOST_PP_TUPLE_SIZE(tuple), \ - (0,0,0,,0,), \ - allow \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_NEW_MODS_VAR(allow,tuple) \ - BOOST_VMD_DETAIL_MODS_LOOP \ - ( \ - allow, \ - BOOST_PP_TUPLE_POP_FRONT(tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_NEW_MODS_VAR_D(d,allow,tuple) \ - BOOST_VMD_DETAIL_MODS_LOOP_D \ - ( \ - d, \ - allow, \ - BOOST_PP_TUPLE_POP_FRONT(tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_NEW_MODS_IR(allow,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_IDENTITY((0,0,0,,0,)), \ - BOOST_VMD_DETAIL_NEW_MODS_VAR \ - ) \ - (allow,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_NEW_MODS_IR_D(d,allow,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_IDENTITY((0,0,0,,0,)), \ - BOOST_VMD_DETAIL_NEW_MODS_VAR_D \ - ) \ - (d,allow,tuple) \ - ) \ -/**/ - -/* - - Returns a six-element tuple: - - First tuple element = 0 No type return - 1 Exact type return - 2 General tuple type return - 3 Array return - 4 List return - - Second tuple element = 0 No after return - 1 After return - - Third tuple element = 0 No identifier index - 1 Identifier Index - - Fourth tuple element = Tuple of other identifiers - - Fifth tuple element = 0 No after only return - 1 After only return - - Sixth tuple element = Type identifier - - Input = allow, either - BOOST_VMD_ALLOW_ALL - BOOST_VMD_ALLOW_RETURN - BOOST_VMD_ALLOW_AFTER - BOOST_VMD_ALLOW_INDEX - - ..., modifiers, first variadic is discarded - Possible modifiers are: - - BOOST_VMD_RETURN_NO_TYPE = (0,0) - BOOST_VMD_RETURN_TYPE = (1,0) - BOOST_VMD_RETURN_TYPE_TUPLE = (2,0) - BOOST_VMD_RETURN_TYPE_ARRAY = (3,0) - BOOST_VMD_RETURN_TYPE_LIST = (4,0) - - BOOST_VMD_RETURN_NO_AFTER = (0,0) - BOOST_VMD_RETURN_AFTER = (0,1) - -*/ - -#define BOOST_VMD_DETAIL_NEW_MODS(allow,...) \ - BOOST_VMD_DETAIL_NEW_MODS_IR(allow,BOOST_PP_VARIADIC_TO_TUPLE(__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_NEW_MODS_D(d,allow,...) \ - BOOST_VMD_DETAIL_NEW_MODS_IR_D(d,allow,BOOST_PP_VARIADIC_TO_TUPLE(__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_MODS_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/nil_registration.hpp b/contrib/restricted/boost/boost/vmd/detail/nil_registration.hpp deleted file mode 100644 index 4a4bdc62838..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/nil_registration.hpp +++ /dev/null @@ -1,13 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_NIL_REGISTRATION_HPP) -#define BOOST_VMD_DETAIL_NIL_REGISTRATION_HPP - -#define BOOST_VMD_REGISTER_BOOST_PP_NIL (BOOST_PP_NIL) -#define BOOST_VMD_DETECT_BOOST_PP_NIL_BOOST_PP_NIL - -#endif /* BOOST_VMD_DETAIL_NIL_REGISTRATION_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/not_empty.hpp b/contrib/restricted/boost/boost/vmd/detail/not_empty.hpp deleted file mode 100644 index f6dfb66d750..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/not_empty.hpp +++ /dev/null @@ -1,20 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_NOT_EMPTY_HPP) -#define BOOST_VMD_DETAIL_NOT_EMPTY_HPP - -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/vmd/is_empty.hpp> - -#define BOOST_VMD_DETAIL_NOT_EMPTY(par) \ - BOOST_PP_COMPL \ - ( \ - BOOST_VMD_IS_EMPTY(par) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_NOT_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/number_registration.hpp b/contrib/restricted/boost/boost/vmd/detail/number_registration.hpp deleted file mode 100644 index d0110d7e1c4..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/number_registration.hpp +++ /dev/null @@ -1,784 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_NUMBER_REGISTRATION_HPP) -#define BOOST_VMD_DETAIL_IS_NUMBER_REGISTRATION_HPP - -#define BOOST_VMD_REGISTER_0 (0) -#define BOOST_VMD_REGISTER_1 (1) -#define BOOST_VMD_REGISTER_2 (2) -#define BOOST_VMD_REGISTER_3 (3) -#define BOOST_VMD_REGISTER_4 (4) -#define BOOST_VMD_REGISTER_5 (5) -#define BOOST_VMD_REGISTER_6 (6) -#define BOOST_VMD_REGISTER_7 (7) -#define BOOST_VMD_REGISTER_8 (8) -#define BOOST_VMD_REGISTER_9 (9) -#define BOOST_VMD_REGISTER_10 (10) -#define BOOST_VMD_REGISTER_11 (11) -#define BOOST_VMD_REGISTER_12 (12) -#define BOOST_VMD_REGISTER_13 (13) -#define BOOST_VMD_REGISTER_14 (14) -#define BOOST_VMD_REGISTER_15 (15) -#define BOOST_VMD_REGISTER_16 (16) -#define BOOST_VMD_REGISTER_17 (17) -#define BOOST_VMD_REGISTER_18 (18) -#define BOOST_VMD_REGISTER_19 (19) -#define BOOST_VMD_REGISTER_20 (20) -#define BOOST_VMD_REGISTER_21 (21) -#define BOOST_VMD_REGISTER_22 (22) -#define BOOST_VMD_REGISTER_23 (23) -#define BOOST_VMD_REGISTER_24 (24) -#define BOOST_VMD_REGISTER_25 (25) -#define BOOST_VMD_REGISTER_26 (26) -#define BOOST_VMD_REGISTER_27 (27) -#define BOOST_VMD_REGISTER_28 (28) -#define BOOST_VMD_REGISTER_29 (29) -#define BOOST_VMD_REGISTER_30 (30) -#define BOOST_VMD_REGISTER_31 (31) -#define BOOST_VMD_REGISTER_32 (32) -#define BOOST_VMD_REGISTER_33 (33) -#define BOOST_VMD_REGISTER_34 (34) -#define BOOST_VMD_REGISTER_35 (35) -#define BOOST_VMD_REGISTER_36 (36) -#define BOOST_VMD_REGISTER_37 (37) -#define BOOST_VMD_REGISTER_38 (38) -#define BOOST_VMD_REGISTER_39 (39) -#define BOOST_VMD_REGISTER_40 (40) -#define BOOST_VMD_REGISTER_41 (41) -#define BOOST_VMD_REGISTER_42 (42) -#define BOOST_VMD_REGISTER_43 (43) -#define BOOST_VMD_REGISTER_44 (44) -#define BOOST_VMD_REGISTER_45 (45) -#define BOOST_VMD_REGISTER_46 (46) -#define BOOST_VMD_REGISTER_47 (47) -#define BOOST_VMD_REGISTER_48 (48) -#define BOOST_VMD_REGISTER_49 (49) -#define BOOST_VMD_REGISTER_50 (50) -#define BOOST_VMD_REGISTER_51 (51) -#define BOOST_VMD_REGISTER_52 (52) -#define BOOST_VMD_REGISTER_53 (53) -#define BOOST_VMD_REGISTER_54 (54) -#define BOOST_VMD_REGISTER_55 (55) -#define BOOST_VMD_REGISTER_56 (56) -#define BOOST_VMD_REGISTER_57 (57) -#define BOOST_VMD_REGISTER_58 (58) -#define BOOST_VMD_REGISTER_59 (59) -#define BOOST_VMD_REGISTER_60 (60) -#define BOOST_VMD_REGISTER_61 (61) -#define BOOST_VMD_REGISTER_62 (62) -#define BOOST_VMD_REGISTER_63 (63) -#define BOOST_VMD_REGISTER_64 (64) -#define BOOST_VMD_REGISTER_65 (65) -#define BOOST_VMD_REGISTER_66 (66) -#define BOOST_VMD_REGISTER_67 (67) -#define BOOST_VMD_REGISTER_68 (68) -#define BOOST_VMD_REGISTER_69 (69) -#define BOOST_VMD_REGISTER_70 (70) -#define BOOST_VMD_REGISTER_71 (71) -#define BOOST_VMD_REGISTER_72 (72) -#define BOOST_VMD_REGISTER_73 (73) -#define BOOST_VMD_REGISTER_74 (74) -#define BOOST_VMD_REGISTER_75 (75) -#define BOOST_VMD_REGISTER_76 (76) -#define BOOST_VMD_REGISTER_77 (77) -#define BOOST_VMD_REGISTER_78 (78) -#define BOOST_VMD_REGISTER_79 (79) -#define BOOST_VMD_REGISTER_80 (80) -#define BOOST_VMD_REGISTER_81 (81) -#define BOOST_VMD_REGISTER_82 (82) -#define BOOST_VMD_REGISTER_83 (83) -#define BOOST_VMD_REGISTER_84 (84) -#define BOOST_VMD_REGISTER_85 (85) -#define BOOST_VMD_REGISTER_86 (86) -#define BOOST_VMD_REGISTER_87 (87) -#define BOOST_VMD_REGISTER_88 (88) -#define BOOST_VMD_REGISTER_89 (89) -#define BOOST_VMD_REGISTER_90 (90) -#define BOOST_VMD_REGISTER_91 (91) -#define BOOST_VMD_REGISTER_92 (92) -#define BOOST_VMD_REGISTER_93 (93) -#define BOOST_VMD_REGISTER_94 (94) -#define BOOST_VMD_REGISTER_95 (95) -#define BOOST_VMD_REGISTER_96 (96) -#define BOOST_VMD_REGISTER_97 (97) -#define BOOST_VMD_REGISTER_98 (98) -#define BOOST_VMD_REGISTER_99 (99) -#define BOOST_VMD_REGISTER_100 (100) -#define BOOST_VMD_REGISTER_101 (101) -#define BOOST_VMD_REGISTER_102 (102) -#define BOOST_VMD_REGISTER_103 (103) -#define BOOST_VMD_REGISTER_104 (104) -#define BOOST_VMD_REGISTER_105 (105) -#define BOOST_VMD_REGISTER_106 (106) -#define BOOST_VMD_REGISTER_107 (107) -#define BOOST_VMD_REGISTER_108 (108) -#define BOOST_VMD_REGISTER_109 (109) -#define BOOST_VMD_REGISTER_110 (110) -#define BOOST_VMD_REGISTER_111 (111) -#define BOOST_VMD_REGISTER_112 (112) -#define BOOST_VMD_REGISTER_113 (113) -#define BOOST_VMD_REGISTER_114 (114) -#define BOOST_VMD_REGISTER_115 (115) -#define BOOST_VMD_REGISTER_116 (116) -#define BOOST_VMD_REGISTER_117 (117) -#define BOOST_VMD_REGISTER_118 (118) -#define BOOST_VMD_REGISTER_119 (119) -#define BOOST_VMD_REGISTER_120 (120) -#define BOOST_VMD_REGISTER_121 (121) -#define BOOST_VMD_REGISTER_122 (122) -#define BOOST_VMD_REGISTER_123 (123) -#define BOOST_VMD_REGISTER_124 (124) -#define BOOST_VMD_REGISTER_125 (125) -#define BOOST_VMD_REGISTER_126 (126) -#define BOOST_VMD_REGISTER_127 (127) -#define BOOST_VMD_REGISTER_128 (128) -#define BOOST_VMD_REGISTER_129 (129) -#define BOOST_VMD_REGISTER_130 (130) -#define BOOST_VMD_REGISTER_131 (131) -#define BOOST_VMD_REGISTER_132 (132) -#define BOOST_VMD_REGISTER_133 (133) -#define BOOST_VMD_REGISTER_134 (134) -#define BOOST_VMD_REGISTER_135 (135) -#define BOOST_VMD_REGISTER_136 (136) -#define BOOST_VMD_REGISTER_137 (137) -#define BOOST_VMD_REGISTER_138 (138) -#define BOOST_VMD_REGISTER_139 (139) -#define BOOST_VMD_REGISTER_140 (140) -#define BOOST_VMD_REGISTER_141 (141) -#define BOOST_VMD_REGISTER_142 (142) -#define BOOST_VMD_REGISTER_143 (143) -#define BOOST_VMD_REGISTER_144 (144) -#define BOOST_VMD_REGISTER_145 (145) -#define BOOST_VMD_REGISTER_146 (146) -#define BOOST_VMD_REGISTER_147 (147) -#define BOOST_VMD_REGISTER_148 (148) -#define BOOST_VMD_REGISTER_149 (149) -#define BOOST_VMD_REGISTER_150 (150) -#define BOOST_VMD_REGISTER_151 (151) -#define BOOST_VMD_REGISTER_152 (152) -#define BOOST_VMD_REGISTER_153 (153) -#define BOOST_VMD_REGISTER_154 (154) -#define BOOST_VMD_REGISTER_155 (155) -#define BOOST_VMD_REGISTER_156 (156) -#define BOOST_VMD_REGISTER_157 (157) -#define BOOST_VMD_REGISTER_158 (158) -#define BOOST_VMD_REGISTER_159 (159) -#define BOOST_VMD_REGISTER_160 (160) -#define BOOST_VMD_REGISTER_161 (161) -#define BOOST_VMD_REGISTER_162 (162) -#define BOOST_VMD_REGISTER_163 (163) -#define BOOST_VMD_REGISTER_164 (164) -#define BOOST_VMD_REGISTER_165 (165) -#define BOOST_VMD_REGISTER_166 (166) -#define BOOST_VMD_REGISTER_167 (167) -#define BOOST_VMD_REGISTER_168 (168) -#define BOOST_VMD_REGISTER_169 (169) -#define BOOST_VMD_REGISTER_170 (170) -#define BOOST_VMD_REGISTER_171 (171) -#define BOOST_VMD_REGISTER_172 (172) -#define BOOST_VMD_REGISTER_173 (173) -#define BOOST_VMD_REGISTER_174 (174) -#define BOOST_VMD_REGISTER_175 (175) -#define BOOST_VMD_REGISTER_176 (176) -#define BOOST_VMD_REGISTER_177 (177) -#define BOOST_VMD_REGISTER_178 (178) -#define BOOST_VMD_REGISTER_179 (179) -#define BOOST_VMD_REGISTER_180 (180) -#define BOOST_VMD_REGISTER_181 (181) -#define BOOST_VMD_REGISTER_182 (182) -#define BOOST_VMD_REGISTER_183 (183) -#define BOOST_VMD_REGISTER_184 (184) -#define BOOST_VMD_REGISTER_185 (185) -#define BOOST_VMD_REGISTER_186 (186) -#define BOOST_VMD_REGISTER_187 (187) -#define BOOST_VMD_REGISTER_188 (188) -#define BOOST_VMD_REGISTER_189 (189) -#define BOOST_VMD_REGISTER_190 (190) -#define BOOST_VMD_REGISTER_191 (191) -#define BOOST_VMD_REGISTER_192 (192) -#define BOOST_VMD_REGISTER_193 (193) -#define BOOST_VMD_REGISTER_194 (194) -#define BOOST_VMD_REGISTER_195 (195) -#define BOOST_VMD_REGISTER_196 (196) -#define BOOST_VMD_REGISTER_197 (197) -#define BOOST_VMD_REGISTER_198 (198) -#define BOOST_VMD_REGISTER_199 (199) -#define BOOST_VMD_REGISTER_200 (200) -#define BOOST_VMD_REGISTER_201 (201) -#define BOOST_VMD_REGISTER_202 (202) -#define BOOST_VMD_REGISTER_203 (203) -#define BOOST_VMD_REGISTER_204 (204) -#define BOOST_VMD_REGISTER_205 (205) -#define BOOST_VMD_REGISTER_206 (206) -#define BOOST_VMD_REGISTER_207 (207) -#define BOOST_VMD_REGISTER_208 (208) -#define BOOST_VMD_REGISTER_209 (209) -#define BOOST_VMD_REGISTER_210 (210) -#define BOOST_VMD_REGISTER_211 (211) -#define BOOST_VMD_REGISTER_212 (212) -#define BOOST_VMD_REGISTER_213 (213) -#define BOOST_VMD_REGISTER_214 (214) -#define BOOST_VMD_REGISTER_215 (215) -#define BOOST_VMD_REGISTER_216 (216) -#define BOOST_VMD_REGISTER_217 (217) -#define BOOST_VMD_REGISTER_218 (218) -#define BOOST_VMD_REGISTER_219 (219) -#define BOOST_VMD_REGISTER_220 (220) -#define BOOST_VMD_REGISTER_221 (221) -#define BOOST_VMD_REGISTER_222 (222) -#define BOOST_VMD_REGISTER_223 (223) -#define BOOST_VMD_REGISTER_224 (224) -#define BOOST_VMD_REGISTER_225 (225) -#define BOOST_VMD_REGISTER_226 (226) -#define BOOST_VMD_REGISTER_227 (227) -#define BOOST_VMD_REGISTER_228 (228) -#define BOOST_VMD_REGISTER_229 (229) -#define BOOST_VMD_REGISTER_230 (230) -#define BOOST_VMD_REGISTER_231 (231) -#define BOOST_VMD_REGISTER_232 (232) -#define BOOST_VMD_REGISTER_233 (233) -#define BOOST_VMD_REGISTER_234 (234) -#define BOOST_VMD_REGISTER_235 (235) -#define BOOST_VMD_REGISTER_236 (236) -#define BOOST_VMD_REGISTER_237 (237) -#define BOOST_VMD_REGISTER_238 (238) -#define BOOST_VMD_REGISTER_239 (239) -#define BOOST_VMD_REGISTER_240 (240) -#define BOOST_VMD_REGISTER_241 (241) -#define BOOST_VMD_REGISTER_242 (242) -#define BOOST_VMD_REGISTER_243 (243) -#define BOOST_VMD_REGISTER_244 (244) -#define BOOST_VMD_REGISTER_245 (245) -#define BOOST_VMD_REGISTER_246 (246) -#define BOOST_VMD_REGISTER_247 (247) -#define BOOST_VMD_REGISTER_248 (248) -#define BOOST_VMD_REGISTER_249 (249) -#define BOOST_VMD_REGISTER_250 (250) -#define BOOST_VMD_REGISTER_251 (251) -#define BOOST_VMD_REGISTER_252 (252) -#define BOOST_VMD_REGISTER_253 (253) -#define BOOST_VMD_REGISTER_254 (254) -#define BOOST_VMD_REGISTER_255 (255) -#define BOOST_VMD_REGISTER_256 (256) - -#define BOOST_VMD_DETECT_0_0 -#define BOOST_VMD_DETECT_1_1 -#define BOOST_VMD_DETECT_2_2 -#define BOOST_VMD_DETECT_3_3 -#define BOOST_VMD_DETECT_4_4 -#define BOOST_VMD_DETECT_5_5 -#define BOOST_VMD_DETECT_6_6 -#define BOOST_VMD_DETECT_7_7 -#define BOOST_VMD_DETECT_8_8 -#define BOOST_VMD_DETECT_9_9 -#define BOOST_VMD_DETECT_10_10 -#define BOOST_VMD_DETECT_11_11 -#define BOOST_VMD_DETECT_12_12 -#define BOOST_VMD_DETECT_13_13 -#define BOOST_VMD_DETECT_14_14 -#define BOOST_VMD_DETECT_15_15 -#define BOOST_VMD_DETECT_16_16 -#define BOOST_VMD_DETECT_17_17 -#define BOOST_VMD_DETECT_18_18 -#define BOOST_VMD_DETECT_19_19 -#define BOOST_VMD_DETECT_20_20 -#define BOOST_VMD_DETECT_21_21 -#define BOOST_VMD_DETECT_22_22 -#define BOOST_VMD_DETECT_23_23 -#define BOOST_VMD_DETECT_24_24 -#define BOOST_VMD_DETECT_25_25 -#define BOOST_VMD_DETECT_26_26 -#define BOOST_VMD_DETECT_27_27 -#define BOOST_VMD_DETECT_28_28 -#define BOOST_VMD_DETECT_29_29 -#define BOOST_VMD_DETECT_30_30 -#define BOOST_VMD_DETECT_31_31 -#define BOOST_VMD_DETECT_32_32 -#define BOOST_VMD_DETECT_33_33 -#define BOOST_VMD_DETECT_34_34 -#define BOOST_VMD_DETECT_35_35 -#define BOOST_VMD_DETECT_36_36 -#define BOOST_VMD_DETECT_37_37 -#define BOOST_VMD_DETECT_38_38 -#define BOOST_VMD_DETECT_39_39 -#define BOOST_VMD_DETECT_40_40 -#define BOOST_VMD_DETECT_41_41 -#define BOOST_VMD_DETECT_42_42 -#define BOOST_VMD_DETECT_43_43 -#define BOOST_VMD_DETECT_44_44 -#define BOOST_VMD_DETECT_45_45 -#define BOOST_VMD_DETECT_46_46 -#define BOOST_VMD_DETECT_47_47 -#define BOOST_VMD_DETECT_48_48 -#define BOOST_VMD_DETECT_49_49 -#define BOOST_VMD_DETECT_50_50 -#define BOOST_VMD_DETECT_51_51 -#define BOOST_VMD_DETECT_52_52 -#define BOOST_VMD_DETECT_53_53 -#define BOOST_VMD_DETECT_54_54 -#define BOOST_VMD_DETECT_55_55 -#define BOOST_VMD_DETECT_56_56 -#define BOOST_VMD_DETECT_57_57 -#define BOOST_VMD_DETECT_58_58 -#define BOOST_VMD_DETECT_59_59 -#define BOOST_VMD_DETECT_60_60 -#define BOOST_VMD_DETECT_61_61 -#define BOOST_VMD_DETECT_62_62 -#define BOOST_VMD_DETECT_63_63 -#define BOOST_VMD_DETECT_64_64 -#define BOOST_VMD_DETECT_65_65 -#define BOOST_VMD_DETECT_66_66 -#define BOOST_VMD_DETECT_67_67 -#define BOOST_VMD_DETECT_68_68 -#define BOOST_VMD_DETECT_69_69 -#define BOOST_VMD_DETECT_70_70 -#define BOOST_VMD_DETECT_71_71 -#define BOOST_VMD_DETECT_72_72 -#define BOOST_VMD_DETECT_73_73 -#define BOOST_VMD_DETECT_74_74 -#define BOOST_VMD_DETECT_75_75 -#define BOOST_VMD_DETECT_76_76 -#define BOOST_VMD_DETECT_77_77 -#define BOOST_VMD_DETECT_78_78 -#define BOOST_VMD_DETECT_79_79 -#define BOOST_VMD_DETECT_80_80 -#define BOOST_VMD_DETECT_81_81 -#define BOOST_VMD_DETECT_82_82 -#define BOOST_VMD_DETECT_83_83 -#define BOOST_VMD_DETECT_84_84 -#define BOOST_VMD_DETECT_85_85 -#define BOOST_VMD_DETECT_86_86 -#define BOOST_VMD_DETECT_87_87 -#define BOOST_VMD_DETECT_88_88 -#define BOOST_VMD_DETECT_89_89 -#define BOOST_VMD_DETECT_90_90 -#define BOOST_VMD_DETECT_91_91 -#define BOOST_VMD_DETECT_92_92 -#define BOOST_VMD_DETECT_93_93 -#define BOOST_VMD_DETECT_94_94 -#define BOOST_VMD_DETECT_95_95 -#define BOOST_VMD_DETECT_96_96 -#define BOOST_VMD_DETECT_97_97 -#define BOOST_VMD_DETECT_98_98 -#define BOOST_VMD_DETECT_99_99 -#define BOOST_VMD_DETECT_100_100 -#define BOOST_VMD_DETECT_101_101 -#define BOOST_VMD_DETECT_102_102 -#define BOOST_VMD_DETECT_103_103 -#define BOOST_VMD_DETECT_104_104 -#define BOOST_VMD_DETECT_105_105 -#define BOOST_VMD_DETECT_106_106 -#define BOOST_VMD_DETECT_107_107 -#define BOOST_VMD_DETECT_108_108 -#define BOOST_VMD_DETECT_109_109 -#define BOOST_VMD_DETECT_110_110 -#define BOOST_VMD_DETECT_111_111 -#define BOOST_VMD_DETECT_112_112 -#define BOOST_VMD_DETECT_113_113 -#define BOOST_VMD_DETECT_114_114 -#define BOOST_VMD_DETECT_115_115 -#define BOOST_VMD_DETECT_116_116 -#define BOOST_VMD_DETECT_117_117 -#define BOOST_VMD_DETECT_118_118 -#define BOOST_VMD_DETECT_119_119 -#define BOOST_VMD_DETECT_120_120 -#define BOOST_VMD_DETECT_121_121 -#define BOOST_VMD_DETECT_122_122 -#define BOOST_VMD_DETECT_123_123 -#define BOOST_VMD_DETECT_124_124 -#define BOOST_VMD_DETECT_125_125 -#define BOOST_VMD_DETECT_126_126 -#define BOOST_VMD_DETECT_127_127 -#define BOOST_VMD_DETECT_128_128 -#define BOOST_VMD_DETECT_129_129 -#define BOOST_VMD_DETECT_130_130 -#define BOOST_VMD_DETECT_131_131 -#define BOOST_VMD_DETECT_132_132 -#define BOOST_VMD_DETECT_133_133 -#define BOOST_VMD_DETECT_134_134 -#define BOOST_VMD_DETECT_135_135 -#define BOOST_VMD_DETECT_136_136 -#define BOOST_VMD_DETECT_137_137 -#define BOOST_VMD_DETECT_138_138 -#define BOOST_VMD_DETECT_139_139 -#define BOOST_VMD_DETECT_140_140 -#define BOOST_VMD_DETECT_141_141 -#define BOOST_VMD_DETECT_142_142 -#define BOOST_VMD_DETECT_143_143 -#define BOOST_VMD_DETECT_144_144 -#define BOOST_VMD_DETECT_145_145 -#define BOOST_VMD_DETECT_146_146 -#define BOOST_VMD_DETECT_147_147 -#define BOOST_VMD_DETECT_148_148 -#define BOOST_VMD_DETECT_149_149 -#define BOOST_VMD_DETECT_150_150 -#define BOOST_VMD_DETECT_151_151 -#define BOOST_VMD_DETECT_152_152 -#define BOOST_VMD_DETECT_153_153 -#define BOOST_VMD_DETECT_154_154 -#define BOOST_VMD_DETECT_155_155 -#define BOOST_VMD_DETECT_156_156 -#define BOOST_VMD_DETECT_157_157 -#define BOOST_VMD_DETECT_158_158 -#define BOOST_VMD_DETECT_159_159 -#define BOOST_VMD_DETECT_160_160 -#define BOOST_VMD_DETECT_161_161 -#define BOOST_VMD_DETECT_162_162 -#define BOOST_VMD_DETECT_163_163 -#define BOOST_VMD_DETECT_164_164 -#define BOOST_VMD_DETECT_165_165 -#define BOOST_VMD_DETECT_166_166 -#define BOOST_VMD_DETECT_167_167 -#define BOOST_VMD_DETECT_168_168 -#define BOOST_VMD_DETECT_169_169 -#define BOOST_VMD_DETECT_170_170 -#define BOOST_VMD_DETECT_171_171 -#define BOOST_VMD_DETECT_172_172 -#define BOOST_VMD_DETECT_173_173 -#define BOOST_VMD_DETECT_174_174 -#define BOOST_VMD_DETECT_175_175 -#define BOOST_VMD_DETECT_176_176 -#define BOOST_VMD_DETECT_177_177 -#define BOOST_VMD_DETECT_178_178 -#define BOOST_VMD_DETECT_179_179 -#define BOOST_VMD_DETECT_180_180 -#define BOOST_VMD_DETECT_181_181 -#define BOOST_VMD_DETECT_182_182 -#define BOOST_VMD_DETECT_183_183 -#define BOOST_VMD_DETECT_184_184 -#define BOOST_VMD_DETECT_185_185 -#define BOOST_VMD_DETECT_186_186 -#define BOOST_VMD_DETECT_187_187 -#define BOOST_VMD_DETECT_188_188 -#define BOOST_VMD_DETECT_189_189 -#define BOOST_VMD_DETECT_190_190 -#define BOOST_VMD_DETECT_191_191 -#define BOOST_VMD_DETECT_192_192 -#define BOOST_VMD_DETECT_193_193 -#define BOOST_VMD_DETECT_194_194 -#define BOOST_VMD_DETECT_195_195 -#define BOOST_VMD_DETECT_196_196 -#define BOOST_VMD_DETECT_197_197 -#define BOOST_VMD_DETECT_198_198 -#define BOOST_VMD_DETECT_199_199 -#define BOOST_VMD_DETECT_200_200 -#define BOOST_VMD_DETECT_201_201 -#define BOOST_VMD_DETECT_202_202 -#define BOOST_VMD_DETECT_203_203 -#define BOOST_VMD_DETECT_204_204 -#define BOOST_VMD_DETECT_205_205 -#define BOOST_VMD_DETECT_206_206 -#define BOOST_VMD_DETECT_207_207 -#define BOOST_VMD_DETECT_208_208 -#define BOOST_VMD_DETECT_209_209 -#define BOOST_VMD_DETECT_210_210 -#define BOOST_VMD_DETECT_211_211 -#define BOOST_VMD_DETECT_212_212 -#define BOOST_VMD_DETECT_213_213 -#define BOOST_VMD_DETECT_214_214 -#define BOOST_VMD_DETECT_215_215 -#define BOOST_VMD_DETECT_216_216 -#define BOOST_VMD_DETECT_217_217 -#define BOOST_VMD_DETECT_218_218 -#define BOOST_VMD_DETECT_219_219 -#define BOOST_VMD_DETECT_220_220 -#define BOOST_VMD_DETECT_221_221 -#define BOOST_VMD_DETECT_222_222 -#define BOOST_VMD_DETECT_223_223 -#define BOOST_VMD_DETECT_224_224 -#define BOOST_VMD_DETECT_225_225 -#define BOOST_VMD_DETECT_226_226 -#define BOOST_VMD_DETECT_227_227 -#define BOOST_VMD_DETECT_228_228 -#define BOOST_VMD_DETECT_229_229 -#define BOOST_VMD_DETECT_230_230 -#define BOOST_VMD_DETECT_231_231 -#define BOOST_VMD_DETECT_232_232 -#define BOOST_VMD_DETECT_233_233 -#define BOOST_VMD_DETECT_234_234 -#define BOOST_VMD_DETECT_235_235 -#define BOOST_VMD_DETECT_236_236 -#define BOOST_VMD_DETECT_237_237 -#define BOOST_VMD_DETECT_238_238 -#define BOOST_VMD_DETECT_239_239 -#define BOOST_VMD_DETECT_240_240 -#define BOOST_VMD_DETECT_241_241 -#define BOOST_VMD_DETECT_242_242 -#define BOOST_VMD_DETECT_243_243 -#define BOOST_VMD_DETECT_244_244 -#define BOOST_VMD_DETECT_245_245 -#define BOOST_VMD_DETECT_246_246 -#define BOOST_VMD_DETECT_247_247 -#define BOOST_VMD_DETECT_248_248 -#define BOOST_VMD_DETECT_249_249 -#define BOOST_VMD_DETECT_250_250 -#define BOOST_VMD_DETECT_251_251 -#define BOOST_VMD_DETECT_252_252 -#define BOOST_VMD_DETECT_253_253 -#define BOOST_VMD_DETECT_254_254 -#define BOOST_VMD_DETECT_255_255 -#define BOOST_VMD_DETECT_256_256 - -#define BOOST_VMD_SUBTYPE_REGISTER_0 (BOOST_VMD_TYPE_NUMBER,0) -#define BOOST_VMD_SUBTYPE_REGISTER_1 (BOOST_VMD_TYPE_NUMBER,1) -#define BOOST_VMD_SUBTYPE_REGISTER_2 (BOOST_VMD_TYPE_NUMBER,2) -#define BOOST_VMD_SUBTYPE_REGISTER_3 (BOOST_VMD_TYPE_NUMBER,3) -#define BOOST_VMD_SUBTYPE_REGISTER_4 (BOOST_VMD_TYPE_NUMBER,4) -#define BOOST_VMD_SUBTYPE_REGISTER_5 (BOOST_VMD_TYPE_NUMBER,5) -#define BOOST_VMD_SUBTYPE_REGISTER_6 (BOOST_VMD_TYPE_NUMBER,6) -#define BOOST_VMD_SUBTYPE_REGISTER_7 (BOOST_VMD_TYPE_NUMBER,7) -#define BOOST_VMD_SUBTYPE_REGISTER_8 (BOOST_VMD_TYPE_NUMBER,8) -#define BOOST_VMD_SUBTYPE_REGISTER_9 (BOOST_VMD_TYPE_NUMBER,9) -#define BOOST_VMD_SUBTYPE_REGISTER_10 (BOOST_VMD_TYPE_NUMBER,10) -#define BOOST_VMD_SUBTYPE_REGISTER_11 (BOOST_VMD_TYPE_NUMBER,11) -#define BOOST_VMD_SUBTYPE_REGISTER_12 (BOOST_VMD_TYPE_NUMBER,12) -#define BOOST_VMD_SUBTYPE_REGISTER_13 (BOOST_VMD_TYPE_NUMBER,13) -#define BOOST_VMD_SUBTYPE_REGISTER_14 (BOOST_VMD_TYPE_NUMBER,14) -#define BOOST_VMD_SUBTYPE_REGISTER_15 (BOOST_VMD_TYPE_NUMBER,15) -#define BOOST_VMD_SUBTYPE_REGISTER_16 (BOOST_VMD_TYPE_NUMBER,16) -#define BOOST_VMD_SUBTYPE_REGISTER_17 (BOOST_VMD_TYPE_NUMBER,17) -#define BOOST_VMD_SUBTYPE_REGISTER_18 (BOOST_VMD_TYPE_NUMBER,18) -#define BOOST_VMD_SUBTYPE_REGISTER_19 (BOOST_VMD_TYPE_NUMBER,19) -#define BOOST_VMD_SUBTYPE_REGISTER_20 (BOOST_VMD_TYPE_NUMBER,20) -#define BOOST_VMD_SUBTYPE_REGISTER_21 (BOOST_VMD_TYPE_NUMBER,21) -#define BOOST_VMD_SUBTYPE_REGISTER_22 (BOOST_VMD_TYPE_NUMBER,22) -#define BOOST_VMD_SUBTYPE_REGISTER_23 (BOOST_VMD_TYPE_NUMBER,23) -#define BOOST_VMD_SUBTYPE_REGISTER_24 (BOOST_VMD_TYPE_NUMBER,24) -#define BOOST_VMD_SUBTYPE_REGISTER_25 (BOOST_VMD_TYPE_NUMBER,25) -#define BOOST_VMD_SUBTYPE_REGISTER_26 (BOOST_VMD_TYPE_NUMBER,26) -#define BOOST_VMD_SUBTYPE_REGISTER_27 (BOOST_VMD_TYPE_NUMBER,27) -#define BOOST_VMD_SUBTYPE_REGISTER_28 (BOOST_VMD_TYPE_NUMBER,28) -#define BOOST_VMD_SUBTYPE_REGISTER_29 (BOOST_VMD_TYPE_NUMBER,29) -#define BOOST_VMD_SUBTYPE_REGISTER_30 (BOOST_VMD_TYPE_NUMBER,30) -#define BOOST_VMD_SUBTYPE_REGISTER_31 (BOOST_VMD_TYPE_NUMBER,31) -#define BOOST_VMD_SUBTYPE_REGISTER_32 (BOOST_VMD_TYPE_NUMBER,32) -#define BOOST_VMD_SUBTYPE_REGISTER_33 (BOOST_VMD_TYPE_NUMBER,33) -#define BOOST_VMD_SUBTYPE_REGISTER_34 (BOOST_VMD_TYPE_NUMBER,34) -#define BOOST_VMD_SUBTYPE_REGISTER_35 (BOOST_VMD_TYPE_NUMBER,35) -#define BOOST_VMD_SUBTYPE_REGISTER_36 (BOOST_VMD_TYPE_NUMBER,36) -#define BOOST_VMD_SUBTYPE_REGISTER_37 (BOOST_VMD_TYPE_NUMBER,37) -#define BOOST_VMD_SUBTYPE_REGISTER_38 (BOOST_VMD_TYPE_NUMBER,38) -#define BOOST_VMD_SUBTYPE_REGISTER_39 (BOOST_VMD_TYPE_NUMBER,39) -#define BOOST_VMD_SUBTYPE_REGISTER_40 (BOOST_VMD_TYPE_NUMBER,40) -#define BOOST_VMD_SUBTYPE_REGISTER_41 (BOOST_VMD_TYPE_NUMBER,41) -#define BOOST_VMD_SUBTYPE_REGISTER_42 (BOOST_VMD_TYPE_NUMBER,42) -#define BOOST_VMD_SUBTYPE_REGISTER_43 (BOOST_VMD_TYPE_NUMBER,43) -#define BOOST_VMD_SUBTYPE_REGISTER_44 (BOOST_VMD_TYPE_NUMBER,44) -#define BOOST_VMD_SUBTYPE_REGISTER_45 (BOOST_VMD_TYPE_NUMBER,45) -#define BOOST_VMD_SUBTYPE_REGISTER_46 (BOOST_VMD_TYPE_NUMBER,46) -#define BOOST_VMD_SUBTYPE_REGISTER_47 (BOOST_VMD_TYPE_NUMBER,47) -#define BOOST_VMD_SUBTYPE_REGISTER_48 (BOOST_VMD_TYPE_NUMBER,48) -#define BOOST_VMD_SUBTYPE_REGISTER_49 (BOOST_VMD_TYPE_NUMBER,49) -#define BOOST_VMD_SUBTYPE_REGISTER_50 (BOOST_VMD_TYPE_NUMBER,50) -#define BOOST_VMD_SUBTYPE_REGISTER_51 (BOOST_VMD_TYPE_NUMBER,51) -#define BOOST_VMD_SUBTYPE_REGISTER_52 (BOOST_VMD_TYPE_NUMBER,52) -#define BOOST_VMD_SUBTYPE_REGISTER_53 (BOOST_VMD_TYPE_NUMBER,53) -#define BOOST_VMD_SUBTYPE_REGISTER_54 (BOOST_VMD_TYPE_NUMBER,54) -#define BOOST_VMD_SUBTYPE_REGISTER_55 (BOOST_VMD_TYPE_NUMBER,55) -#define BOOST_VMD_SUBTYPE_REGISTER_56 (BOOST_VMD_TYPE_NUMBER,56) -#define BOOST_VMD_SUBTYPE_REGISTER_57 (BOOST_VMD_TYPE_NUMBER,57) -#define BOOST_VMD_SUBTYPE_REGISTER_58 (BOOST_VMD_TYPE_NUMBER,58) -#define BOOST_VMD_SUBTYPE_REGISTER_59 (BOOST_VMD_TYPE_NUMBER,59) -#define BOOST_VMD_SUBTYPE_REGISTER_60 (BOOST_VMD_TYPE_NUMBER,60) -#define BOOST_VMD_SUBTYPE_REGISTER_61 (BOOST_VMD_TYPE_NUMBER,61) -#define BOOST_VMD_SUBTYPE_REGISTER_62 (BOOST_VMD_TYPE_NUMBER,62) -#define BOOST_VMD_SUBTYPE_REGISTER_63 (BOOST_VMD_TYPE_NUMBER,63) -#define BOOST_VMD_SUBTYPE_REGISTER_64 (BOOST_VMD_TYPE_NUMBER,64) -#define BOOST_VMD_SUBTYPE_REGISTER_65 (BOOST_VMD_TYPE_NUMBER,65) -#define BOOST_VMD_SUBTYPE_REGISTER_66 (BOOST_VMD_TYPE_NUMBER,66) -#define BOOST_VMD_SUBTYPE_REGISTER_67 (BOOST_VMD_TYPE_NUMBER,67) -#define BOOST_VMD_SUBTYPE_REGISTER_68 (BOOST_VMD_TYPE_NUMBER,68) -#define BOOST_VMD_SUBTYPE_REGISTER_69 (BOOST_VMD_TYPE_NUMBER,69) -#define BOOST_VMD_SUBTYPE_REGISTER_70 (BOOST_VMD_TYPE_NUMBER,70) -#define BOOST_VMD_SUBTYPE_REGISTER_71 (BOOST_VMD_TYPE_NUMBER,71) -#define BOOST_VMD_SUBTYPE_REGISTER_72 (BOOST_VMD_TYPE_NUMBER,72) -#define BOOST_VMD_SUBTYPE_REGISTER_73 (BOOST_VMD_TYPE_NUMBER,73) -#define BOOST_VMD_SUBTYPE_REGISTER_74 (BOOST_VMD_TYPE_NUMBER,74) -#define BOOST_VMD_SUBTYPE_REGISTER_75 (BOOST_VMD_TYPE_NUMBER,75) -#define BOOST_VMD_SUBTYPE_REGISTER_76 (BOOST_VMD_TYPE_NUMBER,76) -#define BOOST_VMD_SUBTYPE_REGISTER_77 (BOOST_VMD_TYPE_NUMBER,77) -#define BOOST_VMD_SUBTYPE_REGISTER_78 (BOOST_VMD_TYPE_NUMBER,78) -#define BOOST_VMD_SUBTYPE_REGISTER_79 (BOOST_VMD_TYPE_NUMBER,79) -#define BOOST_VMD_SUBTYPE_REGISTER_80 (BOOST_VMD_TYPE_NUMBER,80) -#define BOOST_VMD_SUBTYPE_REGISTER_81 (BOOST_VMD_TYPE_NUMBER,81) -#define BOOST_VMD_SUBTYPE_REGISTER_82 (BOOST_VMD_TYPE_NUMBER,82) -#define BOOST_VMD_SUBTYPE_REGISTER_83 (BOOST_VMD_TYPE_NUMBER,83) -#define BOOST_VMD_SUBTYPE_REGISTER_84 (BOOST_VMD_TYPE_NUMBER,84) -#define BOOST_VMD_SUBTYPE_REGISTER_85 (BOOST_VMD_TYPE_NUMBER,85) -#define BOOST_VMD_SUBTYPE_REGISTER_86 (BOOST_VMD_TYPE_NUMBER,86) -#define BOOST_VMD_SUBTYPE_REGISTER_87 (BOOST_VMD_TYPE_NUMBER,87) -#define BOOST_VMD_SUBTYPE_REGISTER_88 (BOOST_VMD_TYPE_NUMBER,88) -#define BOOST_VMD_SUBTYPE_REGISTER_89 (BOOST_VMD_TYPE_NUMBER,89) -#define BOOST_VMD_SUBTYPE_REGISTER_90 (BOOST_VMD_TYPE_NUMBER,90) -#define BOOST_VMD_SUBTYPE_REGISTER_91 (BOOST_VMD_TYPE_NUMBER,91) -#define BOOST_VMD_SUBTYPE_REGISTER_92 (BOOST_VMD_TYPE_NUMBER,92) -#define BOOST_VMD_SUBTYPE_REGISTER_93 (BOOST_VMD_TYPE_NUMBER,93) -#define BOOST_VMD_SUBTYPE_REGISTER_94 (BOOST_VMD_TYPE_NUMBER,94) -#define BOOST_VMD_SUBTYPE_REGISTER_95 (BOOST_VMD_TYPE_NUMBER,95) -#define BOOST_VMD_SUBTYPE_REGISTER_96 (BOOST_VMD_TYPE_NUMBER,96) -#define BOOST_VMD_SUBTYPE_REGISTER_97 (BOOST_VMD_TYPE_NUMBER,97) -#define BOOST_VMD_SUBTYPE_REGISTER_98 (BOOST_VMD_TYPE_NUMBER,98) -#define BOOST_VMD_SUBTYPE_REGISTER_99 (BOOST_VMD_TYPE_NUMBER,99) -#define BOOST_VMD_SUBTYPE_REGISTER_100 (BOOST_VMD_TYPE_NUMBER,100) -#define BOOST_VMD_SUBTYPE_REGISTER_101 (BOOST_VMD_TYPE_NUMBER,101) -#define BOOST_VMD_SUBTYPE_REGISTER_102 (BOOST_VMD_TYPE_NUMBER,102) -#define BOOST_VMD_SUBTYPE_REGISTER_103 (BOOST_VMD_TYPE_NUMBER,103) -#define BOOST_VMD_SUBTYPE_REGISTER_104 (BOOST_VMD_TYPE_NUMBER,104) -#define BOOST_VMD_SUBTYPE_REGISTER_105 (BOOST_VMD_TYPE_NUMBER,105) -#define BOOST_VMD_SUBTYPE_REGISTER_106 (BOOST_VMD_TYPE_NUMBER,106) -#define BOOST_VMD_SUBTYPE_REGISTER_107 (BOOST_VMD_TYPE_NUMBER,107) -#define BOOST_VMD_SUBTYPE_REGISTER_108 (BOOST_VMD_TYPE_NUMBER,108) -#define BOOST_VMD_SUBTYPE_REGISTER_109 (BOOST_VMD_TYPE_NUMBER,109) -#define BOOST_VMD_SUBTYPE_REGISTER_110 (BOOST_VMD_TYPE_NUMBER,110) -#define BOOST_VMD_SUBTYPE_REGISTER_111 (BOOST_VMD_TYPE_NUMBER,111) -#define BOOST_VMD_SUBTYPE_REGISTER_112 (BOOST_VMD_TYPE_NUMBER,112) -#define BOOST_VMD_SUBTYPE_REGISTER_113 (BOOST_VMD_TYPE_NUMBER,113) -#define BOOST_VMD_SUBTYPE_REGISTER_114 (BOOST_VMD_TYPE_NUMBER,114) -#define BOOST_VMD_SUBTYPE_REGISTER_115 (BOOST_VMD_TYPE_NUMBER,115) -#define BOOST_VMD_SUBTYPE_REGISTER_116 (BOOST_VMD_TYPE_NUMBER,116) -#define BOOST_VMD_SUBTYPE_REGISTER_117 (BOOST_VMD_TYPE_NUMBER,117) -#define BOOST_VMD_SUBTYPE_REGISTER_118 (BOOST_VMD_TYPE_NUMBER,118) -#define BOOST_VMD_SUBTYPE_REGISTER_119 (BOOST_VMD_TYPE_NUMBER,119) -#define BOOST_VMD_SUBTYPE_REGISTER_120 (BOOST_VMD_TYPE_NUMBER,120) -#define BOOST_VMD_SUBTYPE_REGISTER_121 (BOOST_VMD_TYPE_NUMBER,121) -#define BOOST_VMD_SUBTYPE_REGISTER_122 (BOOST_VMD_TYPE_NUMBER,122) -#define BOOST_VMD_SUBTYPE_REGISTER_123 (BOOST_VMD_TYPE_NUMBER,123) -#define BOOST_VMD_SUBTYPE_REGISTER_124 (BOOST_VMD_TYPE_NUMBER,124) -#define BOOST_VMD_SUBTYPE_REGISTER_125 (BOOST_VMD_TYPE_NUMBER,125) -#define BOOST_VMD_SUBTYPE_REGISTER_126 (BOOST_VMD_TYPE_NUMBER,126) -#define BOOST_VMD_SUBTYPE_REGISTER_127 (BOOST_VMD_TYPE_NUMBER,127) -#define BOOST_VMD_SUBTYPE_REGISTER_128 (BOOST_VMD_TYPE_NUMBER,128) -#define BOOST_VMD_SUBTYPE_REGISTER_129 (BOOST_VMD_TYPE_NUMBER,129) -#define BOOST_VMD_SUBTYPE_REGISTER_130 (BOOST_VMD_TYPE_NUMBER,130) -#define BOOST_VMD_SUBTYPE_REGISTER_131 (BOOST_VMD_TYPE_NUMBER,131) -#define BOOST_VMD_SUBTYPE_REGISTER_132 (BOOST_VMD_TYPE_NUMBER,132) -#define BOOST_VMD_SUBTYPE_REGISTER_133 (BOOST_VMD_TYPE_NUMBER,133) -#define BOOST_VMD_SUBTYPE_REGISTER_134 (BOOST_VMD_TYPE_NUMBER,134) -#define BOOST_VMD_SUBTYPE_REGISTER_135 (BOOST_VMD_TYPE_NUMBER,135) -#define BOOST_VMD_SUBTYPE_REGISTER_136 (BOOST_VMD_TYPE_NUMBER,136) -#define BOOST_VMD_SUBTYPE_REGISTER_137 (BOOST_VMD_TYPE_NUMBER,137) -#define BOOST_VMD_SUBTYPE_REGISTER_138 (BOOST_VMD_TYPE_NUMBER,138) -#define BOOST_VMD_SUBTYPE_REGISTER_139 (BOOST_VMD_TYPE_NUMBER,139) -#define BOOST_VMD_SUBTYPE_REGISTER_140 (BOOST_VMD_TYPE_NUMBER,140) -#define BOOST_VMD_SUBTYPE_REGISTER_141 (BOOST_VMD_TYPE_NUMBER,141) -#define BOOST_VMD_SUBTYPE_REGISTER_142 (BOOST_VMD_TYPE_NUMBER,142) -#define BOOST_VMD_SUBTYPE_REGISTER_143 (BOOST_VMD_TYPE_NUMBER,143) -#define BOOST_VMD_SUBTYPE_REGISTER_144 (BOOST_VMD_TYPE_NUMBER,144) -#define BOOST_VMD_SUBTYPE_REGISTER_145 (BOOST_VMD_TYPE_NUMBER,145) -#define BOOST_VMD_SUBTYPE_REGISTER_146 (BOOST_VMD_TYPE_NUMBER,146) -#define BOOST_VMD_SUBTYPE_REGISTER_147 (BOOST_VMD_TYPE_NUMBER,147) -#define BOOST_VMD_SUBTYPE_REGISTER_148 (BOOST_VMD_TYPE_NUMBER,148) -#define BOOST_VMD_SUBTYPE_REGISTER_149 (BOOST_VMD_TYPE_NUMBER,149) -#define BOOST_VMD_SUBTYPE_REGISTER_150 (BOOST_VMD_TYPE_NUMBER,150) -#define BOOST_VMD_SUBTYPE_REGISTER_151 (BOOST_VMD_TYPE_NUMBER,151) -#define BOOST_VMD_SUBTYPE_REGISTER_152 (BOOST_VMD_TYPE_NUMBER,152) -#define BOOST_VMD_SUBTYPE_REGISTER_153 (BOOST_VMD_TYPE_NUMBER,153) -#define BOOST_VMD_SUBTYPE_REGISTER_154 (BOOST_VMD_TYPE_NUMBER,154) -#define BOOST_VMD_SUBTYPE_REGISTER_155 (BOOST_VMD_TYPE_NUMBER,155) -#define BOOST_VMD_SUBTYPE_REGISTER_156 (BOOST_VMD_TYPE_NUMBER,156) -#define BOOST_VMD_SUBTYPE_REGISTER_157 (BOOST_VMD_TYPE_NUMBER,157) -#define BOOST_VMD_SUBTYPE_REGISTER_158 (BOOST_VMD_TYPE_NUMBER,158) -#define BOOST_VMD_SUBTYPE_REGISTER_159 (BOOST_VMD_TYPE_NUMBER,159) -#define BOOST_VMD_SUBTYPE_REGISTER_160 (BOOST_VMD_TYPE_NUMBER,160) -#define BOOST_VMD_SUBTYPE_REGISTER_161 (BOOST_VMD_TYPE_NUMBER,161) -#define BOOST_VMD_SUBTYPE_REGISTER_162 (BOOST_VMD_TYPE_NUMBER,162) -#define BOOST_VMD_SUBTYPE_REGISTER_163 (BOOST_VMD_TYPE_NUMBER,163) -#define BOOST_VMD_SUBTYPE_REGISTER_164 (BOOST_VMD_TYPE_NUMBER,164) -#define BOOST_VMD_SUBTYPE_REGISTER_165 (BOOST_VMD_TYPE_NUMBER,165) -#define BOOST_VMD_SUBTYPE_REGISTER_166 (BOOST_VMD_TYPE_NUMBER,166) -#define BOOST_VMD_SUBTYPE_REGISTER_167 (BOOST_VMD_TYPE_NUMBER,167) -#define BOOST_VMD_SUBTYPE_REGISTER_168 (BOOST_VMD_TYPE_NUMBER,168) -#define BOOST_VMD_SUBTYPE_REGISTER_169 (BOOST_VMD_TYPE_NUMBER,169) -#define BOOST_VMD_SUBTYPE_REGISTER_170 (BOOST_VMD_TYPE_NUMBER,170) -#define BOOST_VMD_SUBTYPE_REGISTER_171 (BOOST_VMD_TYPE_NUMBER,171) -#define BOOST_VMD_SUBTYPE_REGISTER_172 (BOOST_VMD_TYPE_NUMBER,172) -#define BOOST_VMD_SUBTYPE_REGISTER_173 (BOOST_VMD_TYPE_NUMBER,173) -#define BOOST_VMD_SUBTYPE_REGISTER_174 (BOOST_VMD_TYPE_NUMBER,174) -#define BOOST_VMD_SUBTYPE_REGISTER_175 (BOOST_VMD_TYPE_NUMBER,175) -#define BOOST_VMD_SUBTYPE_REGISTER_176 (BOOST_VMD_TYPE_NUMBER,176) -#define BOOST_VMD_SUBTYPE_REGISTER_177 (BOOST_VMD_TYPE_NUMBER,177) -#define BOOST_VMD_SUBTYPE_REGISTER_178 (BOOST_VMD_TYPE_NUMBER,178) -#define BOOST_VMD_SUBTYPE_REGISTER_179 (BOOST_VMD_TYPE_NUMBER,179) -#define BOOST_VMD_SUBTYPE_REGISTER_180 (BOOST_VMD_TYPE_NUMBER,180) -#define BOOST_VMD_SUBTYPE_REGISTER_181 (BOOST_VMD_TYPE_NUMBER,181) -#define BOOST_VMD_SUBTYPE_REGISTER_182 (BOOST_VMD_TYPE_NUMBER,182) -#define BOOST_VMD_SUBTYPE_REGISTER_183 (BOOST_VMD_TYPE_NUMBER,183) -#define BOOST_VMD_SUBTYPE_REGISTER_184 (BOOST_VMD_TYPE_NUMBER,184) -#define BOOST_VMD_SUBTYPE_REGISTER_185 (BOOST_VMD_TYPE_NUMBER,185) -#define BOOST_VMD_SUBTYPE_REGISTER_186 (BOOST_VMD_TYPE_NUMBER,186) -#define BOOST_VMD_SUBTYPE_REGISTER_187 (BOOST_VMD_TYPE_NUMBER,187) -#define BOOST_VMD_SUBTYPE_REGISTER_188 (BOOST_VMD_TYPE_NUMBER,188) -#define BOOST_VMD_SUBTYPE_REGISTER_189 (BOOST_VMD_TYPE_NUMBER,189) -#define BOOST_VMD_SUBTYPE_REGISTER_190 (BOOST_VMD_TYPE_NUMBER,190) -#define BOOST_VMD_SUBTYPE_REGISTER_191 (BOOST_VMD_TYPE_NUMBER,191) -#define BOOST_VMD_SUBTYPE_REGISTER_192 (BOOST_VMD_TYPE_NUMBER,192) -#define BOOST_VMD_SUBTYPE_REGISTER_193 (BOOST_VMD_TYPE_NUMBER,193) -#define BOOST_VMD_SUBTYPE_REGISTER_194 (BOOST_VMD_TYPE_NUMBER,194) -#define BOOST_VMD_SUBTYPE_REGISTER_195 (BOOST_VMD_TYPE_NUMBER,195) -#define BOOST_VMD_SUBTYPE_REGISTER_196 (BOOST_VMD_TYPE_NUMBER,196) -#define BOOST_VMD_SUBTYPE_REGISTER_197 (BOOST_VMD_TYPE_NUMBER,197) -#define BOOST_VMD_SUBTYPE_REGISTER_198 (BOOST_VMD_TYPE_NUMBER,198) -#define BOOST_VMD_SUBTYPE_REGISTER_199 (BOOST_VMD_TYPE_NUMBER,199) -#define BOOST_VMD_SUBTYPE_REGISTER_200 (BOOST_VMD_TYPE_NUMBER,200) -#define BOOST_VMD_SUBTYPE_REGISTER_201 (BOOST_VMD_TYPE_NUMBER,201) -#define BOOST_VMD_SUBTYPE_REGISTER_202 (BOOST_VMD_TYPE_NUMBER,202) -#define BOOST_VMD_SUBTYPE_REGISTER_203 (BOOST_VMD_TYPE_NUMBER,203) -#define BOOST_VMD_SUBTYPE_REGISTER_204 (BOOST_VMD_TYPE_NUMBER,204) -#define BOOST_VMD_SUBTYPE_REGISTER_205 (BOOST_VMD_TYPE_NUMBER,205) -#define BOOST_VMD_SUBTYPE_REGISTER_206 (BOOST_VMD_TYPE_NUMBER,206) -#define BOOST_VMD_SUBTYPE_REGISTER_207 (BOOST_VMD_TYPE_NUMBER,207) -#define BOOST_VMD_SUBTYPE_REGISTER_208 (BOOST_VMD_TYPE_NUMBER,208) -#define BOOST_VMD_SUBTYPE_REGISTER_209 (BOOST_VMD_TYPE_NUMBER,209) -#define BOOST_VMD_SUBTYPE_REGISTER_210 (BOOST_VMD_TYPE_NUMBER,210) -#define BOOST_VMD_SUBTYPE_REGISTER_211 (BOOST_VMD_TYPE_NUMBER,211) -#define BOOST_VMD_SUBTYPE_REGISTER_212 (BOOST_VMD_TYPE_NUMBER,212) -#define BOOST_VMD_SUBTYPE_REGISTER_213 (BOOST_VMD_TYPE_NUMBER,213) -#define BOOST_VMD_SUBTYPE_REGISTER_214 (BOOST_VMD_TYPE_NUMBER,214) -#define BOOST_VMD_SUBTYPE_REGISTER_215 (BOOST_VMD_TYPE_NUMBER,215) -#define BOOST_VMD_SUBTYPE_REGISTER_216 (BOOST_VMD_TYPE_NUMBER,216) -#define BOOST_VMD_SUBTYPE_REGISTER_217 (BOOST_VMD_TYPE_NUMBER,217) -#define BOOST_VMD_SUBTYPE_REGISTER_218 (BOOST_VMD_TYPE_NUMBER,218) -#define BOOST_VMD_SUBTYPE_REGISTER_219 (BOOST_VMD_TYPE_NUMBER,219) -#define BOOST_VMD_SUBTYPE_REGISTER_220 (BOOST_VMD_TYPE_NUMBER,220) -#define BOOST_VMD_SUBTYPE_REGISTER_221 (BOOST_VMD_TYPE_NUMBER,221) -#define BOOST_VMD_SUBTYPE_REGISTER_222 (BOOST_VMD_TYPE_NUMBER,222) -#define BOOST_VMD_SUBTYPE_REGISTER_223 (BOOST_VMD_TYPE_NUMBER,223) -#define BOOST_VMD_SUBTYPE_REGISTER_224 (BOOST_VMD_TYPE_NUMBER,224) -#define BOOST_VMD_SUBTYPE_REGISTER_225 (BOOST_VMD_TYPE_NUMBER,225) -#define BOOST_VMD_SUBTYPE_REGISTER_226 (BOOST_VMD_TYPE_NUMBER,226) -#define BOOST_VMD_SUBTYPE_REGISTER_227 (BOOST_VMD_TYPE_NUMBER,227) -#define BOOST_VMD_SUBTYPE_REGISTER_228 (BOOST_VMD_TYPE_NUMBER,228) -#define BOOST_VMD_SUBTYPE_REGISTER_229 (BOOST_VMD_TYPE_NUMBER,229) -#define BOOST_VMD_SUBTYPE_REGISTER_230 (BOOST_VMD_TYPE_NUMBER,230) -#define BOOST_VMD_SUBTYPE_REGISTER_231 (BOOST_VMD_TYPE_NUMBER,231) -#define BOOST_VMD_SUBTYPE_REGISTER_232 (BOOST_VMD_TYPE_NUMBER,232) -#define BOOST_VMD_SUBTYPE_REGISTER_233 (BOOST_VMD_TYPE_NUMBER,233) -#define BOOST_VMD_SUBTYPE_REGISTER_234 (BOOST_VMD_TYPE_NUMBER,234) -#define BOOST_VMD_SUBTYPE_REGISTER_235 (BOOST_VMD_TYPE_NUMBER,235) -#define BOOST_VMD_SUBTYPE_REGISTER_236 (BOOST_VMD_TYPE_NUMBER,236) -#define BOOST_VMD_SUBTYPE_REGISTER_237 (BOOST_VMD_TYPE_NUMBER,237) -#define BOOST_VMD_SUBTYPE_REGISTER_238 (BOOST_VMD_TYPE_NUMBER,238) -#define BOOST_VMD_SUBTYPE_REGISTER_239 (BOOST_VMD_TYPE_NUMBER,239) -#define BOOST_VMD_SUBTYPE_REGISTER_240 (BOOST_VMD_TYPE_NUMBER,240) -#define BOOST_VMD_SUBTYPE_REGISTER_241 (BOOST_VMD_TYPE_NUMBER,241) -#define BOOST_VMD_SUBTYPE_REGISTER_242 (BOOST_VMD_TYPE_NUMBER,242) -#define BOOST_VMD_SUBTYPE_REGISTER_243 (BOOST_VMD_TYPE_NUMBER,243) -#define BOOST_VMD_SUBTYPE_REGISTER_244 (BOOST_VMD_TYPE_NUMBER,244) -#define BOOST_VMD_SUBTYPE_REGISTER_245 (BOOST_VMD_TYPE_NUMBER,245) -#define BOOST_VMD_SUBTYPE_REGISTER_246 (BOOST_VMD_TYPE_NUMBER,246) -#define BOOST_VMD_SUBTYPE_REGISTER_247 (BOOST_VMD_TYPE_NUMBER,247) -#define BOOST_VMD_SUBTYPE_REGISTER_248 (BOOST_VMD_TYPE_NUMBER,248) -#define BOOST_VMD_SUBTYPE_REGISTER_249 (BOOST_VMD_TYPE_NUMBER,249) -#define BOOST_VMD_SUBTYPE_REGISTER_250 (BOOST_VMD_TYPE_NUMBER,250) -#define BOOST_VMD_SUBTYPE_REGISTER_251 (BOOST_VMD_TYPE_NUMBER,251) -#define BOOST_VMD_SUBTYPE_REGISTER_252 (BOOST_VMD_TYPE_NUMBER,252) -#define BOOST_VMD_SUBTYPE_REGISTER_253 (BOOST_VMD_TYPE_NUMBER,253) -#define BOOST_VMD_SUBTYPE_REGISTER_254 (BOOST_VMD_TYPE_NUMBER,254) -#define BOOST_VMD_SUBTYPE_REGISTER_255 (BOOST_VMD_TYPE_NUMBER,255) -#define BOOST_VMD_SUBTYPE_REGISTER_256 (BOOST_VMD_TYPE_NUMBER,256) - -#endif /* BOOST_VMD_DETAIL_IS_NUMBER_REGISTRATION_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/only_after.hpp b/contrib/restricted/boost/boost/vmd/detail/only_after.hpp deleted file mode 100644 index c00d60c400c..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/only_after.hpp +++ /dev/null @@ -1,37 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_ONLY_AFTER_HPP) -#define BOOST_VMD_DETAIL_ONLY_AFTER_HPP - -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/modifiers.hpp> - -/* - - Determines whether or not the BOOST_VMD_RETURN_ONLY_AFTER modifiers has been passed - as a variadic parameter. - - Returns 1 = BOOST_VMD_RETURN_ONLY_AFTER has been passed - 0 = BOOST_VMD_RETURN_ONLY_AFTER has not been passed - -*/ - -#define BOOST_VMD_DETAIL_ONLY_AFTER(...) \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_ONLY_AFTER_D(d,...) \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_ONLY_AFTER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/parens.hpp b/contrib/restricted/boost/boost/vmd/detail/parens.hpp deleted file mode 100644 index 669b136d77f..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/parens.hpp +++ /dev/null @@ -1,54 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_PARENS_HPP) -#define BOOST_VMD_DETAIL_PARENS_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/parens_split.hpp> -#include <boost/vmd/detail/parens_common.hpp> - -#define BOOST_VMD_DETAIL_PARENS_PROCESS(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_BEGIN_PARENS, \ - BOOST_VMD_EMPTY \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_PARENS(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_PARENS_SPLIT, \ - BOOST_VMD_DETAIL_PARENS_PROCESS \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_PARENS_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_PARENS_SPLIT, \ - BOOST_VMD_DETAIL_PARENS_PROCESS \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_PARENS_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/parens_common.hpp b/contrib/restricted/boost/boost/vmd/detail/parens_common.hpp deleted file mode 100644 index 3a323ed432f..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/parens_common.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_PARENS_COMMON_HPP) -#define BOOST_VMD_DETAIL_PARENS_COMMON_HPP - -#include <boost/preprocessor/facilities/expand.hpp> -#include <boost/preprocessor/punctuation/paren.hpp> -#include <boost/vmd/empty.hpp> - -#define BOOST_VMD_DETAIL_BEGIN_PARENS_EXP2(...) ( __VA_ARGS__ ) BOOST_VMD_EMPTY BOOST_PP_LPAREN() -#define BOOST_VMD_DETAIL_BEGIN_PARENS_EXP1(vseq) BOOST_VMD_DETAIL_BEGIN_PARENS_EXP2 vseq BOOST_PP_RPAREN() -#define BOOST_VMD_DETAIL_BEGIN_PARENS(vseq) BOOST_PP_EXPAND(BOOST_VMD_DETAIL_BEGIN_PARENS_EXP1(vseq)) - -#define BOOST_VMD_DETAIL_AFTER_PARENS_DATA(vseq) BOOST_VMD_EMPTY vseq -#define BOOST_VMD_DETAIL_SPLIT_PARENS(vseq) (BOOST_VMD_DETAIL_BEGIN_PARENS(vseq),BOOST_VMD_DETAIL_AFTER_PARENS_DATA(vseq)) - -#endif /* BOOST_VMD_DETAIL_PARENS_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/parens_split.hpp b/contrib/restricted/boost/boost/vmd/detail/parens_split.hpp deleted file mode 100644 index ed90cdf4c64..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/parens_split.hpp +++ /dev/null @@ -1,24 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_PARENS_SPLIT_HPP) -#define BOOST_VMD_DETAIL_PARENS_SPLIT_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/parens_common.hpp> - -#define BOOST_VMD_DETAIL_PARENS_SPLIT(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_SPLIT_PARENS, \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (vseq) \ -/**/ -#endif /* BOOST_VMD_DETAIL_PARENS_SPLIT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_1.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_1.hpp deleted file mode 100644 index 3ff4c11227d..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_1.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_1_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_1_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_1_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_10.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_10.hpp deleted file mode 100644 index 3c36ea94d69..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_10.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_10_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_10_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_10_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_11.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_11.hpp deleted file mode 100644 index b5a8fabde72..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_11.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_11_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_11_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_11_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_12.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_12.hpp deleted file mode 100644 index 12872c95e81..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_12.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_12_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_12_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_12_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_13.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_13.hpp deleted file mode 100644 index d92f95aeb46..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_13.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_13_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_13_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_13_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_14.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_14.hpp deleted file mode 100644 index 9133718f983..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_14.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_14_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_14_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_14_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_15.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_15.hpp deleted file mode 100644 index 21cbb00b697..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_15.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_15_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_15_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_15_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_16.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_16.hpp deleted file mode 100644 index 4ae286ef4d5..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_16.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_16_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_16_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_16_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_2.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_2.hpp deleted file mode 100644 index 4fa02f5e735..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_2.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_2_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_2_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_2_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_3.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_3.hpp deleted file mode 100644 index 35ae21f021e..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_3.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_3_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_3_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_3_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_4.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_4.hpp deleted file mode 100644 index c08e3071b75..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_4.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_4_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_4_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_4_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_5.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_5.hpp deleted file mode 100644 index bcf11038f36..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_5.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_5_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_5_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_5_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_6.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_6.hpp deleted file mode 100644 index ea4d8260662..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_6.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_6_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_6_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_6_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_7.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_7.hpp deleted file mode 100644 index 36e141cee7b..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_7.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_7_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_7_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_7_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_8.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_8.hpp deleted file mode 100644 index 612f6d7b30f..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_8.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_8_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_8_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_8_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_9.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_9.hpp deleted file mode 100644 index e7853f42b00..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_9.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_9_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_9_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_9_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp deleted file mode 100644 index 19796a4c69d..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp +++ /dev/null @@ -1,22 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_HEADERS_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_HEADERS_HPP - -#include <boost/preprocessor/array/size.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/list/size.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/equal.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/data_equal_common.hpp> - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_HEADERS_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_specific.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_specific.hpp deleted file mode 100644 index d0169899bfd..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/data_equal/data_equal_specific.hpp +++ /dev/null @@ -1,185 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_HPP) -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_HPP - -#include <boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp> - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_PARENS(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_PARENS_D(d,em1,em2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_IS_BOTH_COMPOSITE(em1,em2), \ - BOOST_VMD_IDENTITY(2), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ - ) \ - (d,em1,em2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_PARENS \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_D(d,state,em1,em2) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ - BOOST_VMD_DETAIL_EQUAL_SIMPLE_D, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_PARENS_D \ - ) \ - (d,em1,em2) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_CMP_D \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state), \ - BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_D(d,state) \ - BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_TEQ_D(d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_LOOP(dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_LOOP_D(d,dataf,datas,sz,vtype) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_DATA_EQUAL_PRED, \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_OP_D, \ - ( \ - 1, \ - dataf, \ - datas, \ - sz, \ - vtype, \ - 0, \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_SZ(dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_LOOP, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_SZ_D(d,dataf,datas,szf,szs,vtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,szf,szs), \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_LOOP_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,dataf,datas,szf,vtype) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC(dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_SZ \ - ( \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(datas,vtype), \ - vtype \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_D(d,dataf,datas,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_SZ_D \ - ( \ - d, \ - dataf, \ - datas, \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,dataf,vtype), \ - BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,datas,vtype), \ - vtype \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_DATA_EQUAL_SPECIFIC_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_1.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_1.hpp deleted file mode 100644 index 26e9a251375..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_1.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_1_HPP) -#define BOOST_VMD_DETAIL_EQUAL_1_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_1_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_1, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_1_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_1_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_1_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_1_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_1_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_1_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_1_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_1_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_1_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_1_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_1_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_1_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_1_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_1_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_1_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_1_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_10.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_10.hpp deleted file mode 100644 index 77c832ee090..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_10.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_10_HPP) -#define BOOST_VMD_DETAIL_EQUAL_10_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_10_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_10, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_10_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_10_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_10_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_10_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_10_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_10_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_10_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_10_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_10_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_10_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_10_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_10_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_10_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_10_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_10_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_10_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_11.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_11.hpp deleted file mode 100644 index 96add5fc824..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_11.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_11_HPP) -#define BOOST_VMD_DETAIL_EQUAL_11_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_11_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_11, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_11_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_11_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_11_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_11_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_11_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_11_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_11_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_11_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_11_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_11_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_11_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_11_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_11_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_11_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_11_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_11_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_12.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_12.hpp deleted file mode 100644 index d3fa1c8e809..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_12.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_12_HPP) -#define BOOST_VMD_DETAIL_EQUAL_12_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_12_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_12, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_12_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_12_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_12_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_12_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_12_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_12_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_12_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_12_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_12_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_12_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_12_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_12_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_12_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_12_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_12_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_12_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_13.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_13.hpp deleted file mode 100644 index 8dfa0ff1c70..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_13.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_13_HPP) -#define BOOST_VMD_DETAIL_EQUAL_13_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_13_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_13, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_13_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_13_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_13_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_13_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_13_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_13_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_13_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_13_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_13_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_13_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_13_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_13_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_13_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_13_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_13_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_13_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_14.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_14.hpp deleted file mode 100644 index 9e6c444a840..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_14.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_14_HPP) -#define BOOST_VMD_DETAIL_EQUAL_14_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_14_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_14, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_14_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_14_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_14_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_14_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_14_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_14_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_14_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_14_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_14_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_14_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_14_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_14_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_14_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_14_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_14_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_14_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_15.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_15.hpp deleted file mode 100644 index f6a733c1769..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_15.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_15_HPP) -#define BOOST_VMD_DETAIL_EQUAL_15_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_15_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_15, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_15_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_15_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_15_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_15_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_15_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_15_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_15_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_15_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_15_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_15_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_15_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_15_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_15_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_15_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_15_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_15_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_16.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_16.hpp deleted file mode 100644 index 031105e55f9..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_16.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_16_HPP) -#define BOOST_VMD_DETAIL_EQUAL_16_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_16_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_16, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_16_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_16_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_16_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_16_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_16_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_16_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_16_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_16_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_16_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_16_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_16_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_16_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_16_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_16_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_16_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_16_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_2.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_2.hpp deleted file mode 100644 index 0b2cadb1d0e..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_2.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_2_HPP) -#define BOOST_VMD_DETAIL_EQUAL_2_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_2_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_2, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_2_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_2_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_2_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_2_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_2_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_2_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_2_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_2_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_2_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_2_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_2_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_2_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_2_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_2_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_2_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_2_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_3.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_3.hpp deleted file mode 100644 index 6f4e6241f52..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_3.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_3_HPP) -#define BOOST_VMD_DETAIL_EQUAL_3_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_3_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_3, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_3_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_3_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_3_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_3_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_3_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_3_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_3_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_3_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_3_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_3_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_3_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_3_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_3_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_3_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_3_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_3_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_4.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_4.hpp deleted file mode 100644 index aa5d438e5af..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_4.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_4_HPP) -#define BOOST_VMD_DETAIL_EQUAL_4_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_4_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_4, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_4_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_4_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_4_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_4_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_4_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_4_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_4_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_4_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_4_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_4_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_4_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_4_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_4_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_4_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_4_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_4_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_5.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_5.hpp deleted file mode 100644 index ab580b8b07d..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_5.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_5_HPP) -#define BOOST_VMD_DETAIL_EQUAL_5_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_5_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_5, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_5_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_5_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_5_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_5_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_5_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_5_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_5_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_5_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_5_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_5_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_5_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_5_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_5_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_5_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_5_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_5_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_6.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_6.hpp deleted file mode 100644 index 85212c005f1..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_6.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_6_HPP) -#define BOOST_VMD_DETAIL_EQUAL_6_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_6_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_6, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_6_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_6_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_6_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_6_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_6_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_6_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_6_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_6_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_6_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_6_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_6_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_6_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_6_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_6_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_6_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_6_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_7.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_7.hpp deleted file mode 100644 index 6ce81630c9c..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_7.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_7_HPP) -#define BOOST_VMD_DETAIL_EQUAL_7_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_7_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_7, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_7_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_7_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_7_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_7_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_7_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_7_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_7_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_7_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_7_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_7_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_7_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_7_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_7_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_7_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_7_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_7_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_8.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_8.hpp deleted file mode 100644 index bedee9c50a2..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_8.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_8_HPP) -#define BOOST_VMD_DETAIL_EQUAL_8_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_8_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_8, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_8_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_8_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_8_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_8_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_8_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_8_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_8_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_8_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_8_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_8_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_8_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_8_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_8_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_8_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_8_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_8_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_9.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_9.hpp deleted file mode 100644 index bf91c229eff..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_9.hpp +++ /dev/null @@ -1,282 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_9_HPP) -#define BOOST_VMD_DETAIL_EQUAL_9_HPP - -#include <boost/vmd/detail/recurse/equal/equal_headers.hpp> - -#define BOOST_VMD_DETAIL_EQUAL_9_CNI_CHK(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_9, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_CNI_CHK_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ - ), \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ - ) \ - ), \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_D, \ - BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_VSEQ(vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9 \ - ( \ - BOOST_VMD_TO_SEQ(vseq1), \ - BOOST_VMD_TO_SEQ(vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_VSEQ_D(d,vseq1,vseq2,vtype) \ - BOOST_VMD_DETAIL_DATA_EQUAL_9_D \ - ( \ - d, \ - BOOST_VMD_TO_SEQ_D(d,vseq1), \ - BOOST_VMD_TO_SEQ_D(d,vseq2), \ - BOOST_VMD_TYPE_SEQ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_CNI(vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_VSEQ, \ - BOOST_VMD_DETAIL_EQUAL_9_CNI_CHK \ - ) \ - (vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_CNI_D(d,vseq1,vseq2,vtype) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype, \ - BOOST_VMD_TYPE_SEQUENCE \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_VSEQ_D, \ - BOOST_VMD_DETAIL_EQUAL_9_CNI_CHK_D \ - ) \ - (d,vseq1,vseq2,vtype) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT_CHECK(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_CNI, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - vtype1, \ - vtype2 \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_CNI_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2,vtype1) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT_CONVERT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_9_WT_CHECK \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_DETAIL_EQUAL_9_WT_CHECK_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ - BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT(vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_9_WT_CONVERT \ - ) \ - (vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_WT_D(d,vseq1,vseq2,vtype1,vtype2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_EQUAL_9_WT_CONVERT_D \ - ) \ - (d,vseq1,vseq2,vtype1,vtype2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_GTYPE(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_9_WT \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_GTYPE_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_9_WT_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ - BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_EBP(vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_GTYPE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_EBP_D(d,vseq1,vseq2,be1,be2) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ - ), \ - BOOST_VMD_DETAIL_EQUAL_9_GTYPE_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq1,vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_EMPTY(vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_9_EBP \ - ) \ - (vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_EMPTY_D(d,vseq1,vseq2,be1,be2) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND(be1,be2), \ - BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ - BOOST_VMD_DETAIL_EQUAL_9_EBP_D \ - ) \ - (d,vseq1,vseq2,be1,be2) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9(vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_9_EMPTY \ - ( \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_EQUAL_9_D(d,vseq1,vseq2) \ - BOOST_VMD_DETAIL_EQUAL_9_EMPTY_D \ - ( \ - d, \ - vseq1, \ - vseq2, \ - BOOST_VMD_IS_EMPTY(vseq1), \ - BOOST_VMD_IS_EMPTY(vseq2) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_EQUAL_9_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_headers.hpp b/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_headers.hpp deleted file mode 100644 index 7b15cbe5338..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/recurse/equal/equal_headers.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_EQUAL_HEADERS_HPP) -#define BOOST_VMD_DETAIL_EQUAL_HEADERS_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/vmd/to_seq.hpp> -#include <boost/vmd/get_type.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/adjust_tuple_type.hpp> -#include <boost/vmd/detail/data_equal.hpp> -#include <boost/vmd/detail/equal_common.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/modifiers.hpp> - -#endif /* BOOST_VMD_DETAIL_EQUAL_HEADERS_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/seq.hpp b/contrib/restricted/boost/boost/vmd/detail/seq.hpp deleted file mode 100644 index 5021f761471..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/seq.hpp +++ /dev/null @@ -1,236 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQ_HPP) -#define BOOST_VMD_DETAIL_SEQ_HPP - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/facilities/empty.hpp> -#include <boost/preprocessor/seq/push_back.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/parens.hpp> - -#define BOOST_VMD_DETAIL_SEQ_STATE_INIT(seq) \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_VMD_DETAIL_PARENS(seq,BOOST_VMD_RETURN_AFTER), \ - BOOST_PP_EMPTY() \ - ), \ - BOOST_PP_EMPTY() \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_INIT_D(d,seq) \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_VMD_DETAIL_PARENS_D(d,seq,BOOST_VMD_RETURN_AFTER), \ - BOOST_PP_EMPTY() \ - ), \ - BOOST_PP_EMPTY() \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_PRED(d,state) \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_FAILURE(d,state) \ - ( \ - BOOST_PP_EMPTY(), \ - BOOST_PP_EMPTY(), \ - BOOST_PP_TUPLE_ELEM(2,state), \ - BOOST_PP_TUPLE_ELEM(3,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ(d,state) \ - BOOST_PP_TUPLE_ELEM(0,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ(d,state) \ - BOOST_PP_SEQ_PUSH_BACK \ - ( \ - BOOST_PP_TUPLE_ELEM(2,state), \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_TUPLE_ELEM(0,state) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_SUCCESS(d,state) \ - ( \ - BOOST_PP_EMPTY(), \ - BOOST_PP_EMPTY(), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(2,state) \ - ), \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ \ - ) \ - (d,state), \ - BOOST_PP_EMPTY() \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_CONTINUE(d,state) \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_VMD_DETAIL_PARENS_D(d,BOOST_PP_TUPLE_ELEM(1,state),BOOST_VMD_RETURN_AFTER), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(2,state) \ - ), \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ \ - ) \ - (d,state) \ - ), \ - BOOST_PP_TUPLE_ELEM(1,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP_CHECK_REST(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(1,state) \ - ), \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_SUCCESS, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_CONTINUE \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_OP(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - 1, \ - BOOST_PP_TUPLE_SIZE \ - ( \ - BOOST_PP_TUPLE_ELEM(0,state) \ - ) \ - ), \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_CHECK_REST, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_FAILURE \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_STATE_RESULT(state) \ - ( \ - BOOST_PP_TUPLE_ELEM(2,state), \ - BOOST_PP_TUPLE_ELEM(3,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_PROCESS(seq) \ - BOOST_VMD_DETAIL_SEQ_STATE_RESULT \ - ( \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_SEQ_STATE_PRED, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP, \ - BOOST_VMD_DETAIL_SEQ_STATE_INIT(seq) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_SPLIT(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SEQ_PROCESS \ - ) \ - (seq) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_BEGIN(seq) \ - BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_SEQ_SPLIT(seq)) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_PROCESS_D(d,seq) \ - BOOST_VMD_DETAIL_SEQ_STATE_RESULT \ - ( \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_SEQ_STATE_PRED, \ - BOOST_VMD_DETAIL_SEQ_STATE_OP, \ - BOOST_VMD_DETAIL_SEQ_STATE_INIT_D(d,seq) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_SPLIT_D(d,seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SEQ_PROCESS_D \ - ) \ - (d,seq) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_BEGIN_D(d,seq) \ - BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_SEQ_SPLIT_D(d,seq)) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_SEQ_SPLIT_D, \ - BOOST_VMD_DETAIL_SEQ_BEGIN_D \ - ) \ - (d,BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQ(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_SEQ_SPLIT, \ - BOOST_VMD_DETAIL_SEQ_BEGIN \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_arity.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_arity.hpp deleted file mode 100644 index 14a8ad04ad2..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_arity.hpp +++ /dev/null @@ -1,66 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_ARITY_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_ARITY_HPP - -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/logical/bitnor.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_IS_MULTI_TUPLE(tuple) \ - BOOST_PP_BITNOR \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1,tuple)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_UNARY_TUPLE(tuple) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1,tuple)) \ - ) \ -/**/ - -// UNARY - -#define BOOST_VMD_DETAIL_IS_UNARY(vseq) \ - BOOST_VMD_DETAIL_IS_UNARY_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM(BOOST_VMD_ALLOW_AFTER,0,vseq,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_UNARY_D(d,vseq) \ - BOOST_VMD_DETAIL_IS_UNARY_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_D(d,BOOST_VMD_ALLOW_AFTER,0,vseq,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -// MULTI - -#define BOOST_VMD_DETAIL_IS_MULTI(vseq) \ - BOOST_VMD_DETAIL_IS_MULTI_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM(BOOST_VMD_ALLOW_AFTER,0,vseq,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_IS_MULTI_D(d,vseq) \ - BOOST_VMD_DETAIL_IS_MULTI_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_D(d,BOOST_VMD_ALLOW_AFTER,0,vseq,BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_ARITY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_common.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_common.hpp deleted file mode 100644 index 62a925b8bcc..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_common.hpp +++ /dev/null @@ -1,766 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP - -#include <boost/preprocessor/arithmetic/inc.hpp> -#include <boost/preprocessor/array/push_back.hpp> -#include <boost/preprocessor/cat.hpp> -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/comparison/less_equal.hpp> -#include <boost/preprocessor/comparison/not_equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/control/while.hpp> -#include <boost/preprocessor/list/append.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/seq/push_back.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/preprocessor/tuple/replace.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_empty_list.hpp> -#include <boost/vmd/detail/array.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/identifier.hpp> -#include <boost/vmd/detail/identifier_type.hpp> -#include <boost/vmd/detail/list.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/seq.hpp> -#include <boost/vmd/detail/tuple.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT_ELEM 0 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ELEM 1 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM_ELEM 2 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE_ELEM 3 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM_ELEM 4 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES_ELEM 5 -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM 6 - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,number) \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM(0,from), \ - number \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_NO_RETURN(d,from) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_NO_RETURN) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_EXACT_RETURN(d,from) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_GENERAL_RETURN(d,from) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_TUPLE) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_ARRAY_RETURN(d,from) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_ARRAY) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_LIST_RETURN(d,from) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_LIST) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(from) \ - BOOST_PP_EQUAL \ - ( \ - BOOST_PP_TUPLE_ELEM(1,from), \ - BOOST_VMD_DETAIL_MODS_RETURN_AFTER \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,from) \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM(1,from), \ - BOOST_VMD_DETAIL_MODS_RETURN_AFTER \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state) \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state) \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY(state,data) \ - (data) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_SEQ(state,data) \ - BOOST_PP_SEQ_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_TUPLE(state,data) \ - BOOST_PP_TUPLE_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ -/**/ - -// Array - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_ARRAY(d,state,data) \ - BOOST_PP_ARRAY_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ -/**/ - -// List - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_LIST(d,state,data) \ - BOOST_PP_LIST_APPEND_D(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),(data,BOOST_PP_NIL)) \ -/**/ - -// Seq - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_SEQ(d,state,data) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_SEQ \ - ) \ - (state,data) \ -/**/ - -// Tuple - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_TUPLE(d,state,data) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_TUPLE \ - ) \ - (state,data) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_NAME(state) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_PROCESS(d,name,state,data) \ - name(d,state,data) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_DATA(d,state,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_NO_RETURN \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ), \ - BOOST_PP_TUPLE_ELEM, \ - BOOST_VMD_IDENTITY(tuple) \ - ) \ - (1,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,ttuple) \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_PROCESS \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_NAME(state), \ - state, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_DATA(d,state,ttuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM_CHECK(d,state) \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_PP_SEQ_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state)), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM(d,state) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state)), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM_CHECK \ - ) \ - (d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state),BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE_REENTRANT(state) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 1, \ - BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state),BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_UNKNOWN(d,state) \ - ( \ - , \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,(BOOST_VMD_TYPE_UNKNOWN,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state))), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state), \ - BOOST_PP_INC(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state)) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE_CHECK_ID(d,type,id) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,type,BOOST_VMD_TYPE_IDENTIFIER), \ - BOOST_VMD_DETAIL_IDENTIFIER_TYPE_D, \ - BOOST_VMD_IDENTITY(type) \ - ) \ - (d,id) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple) \ - BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE_CHECK_ID \ - ( \ - d, \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_TYPE_, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ - ), \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_PROCESS(d,state,tuple) \ - ( \ - BOOST_PP_TUPLE_ELEM(1,tuple), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD \ - ( \ - d, \ - state, \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple), \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state), \ - BOOST_PP_INC(BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state))) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ_SINGLE(d,tuple) \ - BOOST_PP_EQUAL_D(d,BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(0,tuple)),1) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ(d,state,tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple), \ - BOOST_VMD_TYPE_SEQ \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ_SINGLE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,tuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND(d,state,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ(d,state,tuple), \ - BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX, \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_PROCESS \ - ) \ - (d,state,tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX(d,state,tuple) \ - BOOST_PP_TUPLE_REPLACE_D(d,state,BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM,BOOST_PP_INC(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state))) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE(d,state,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,tuple) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX, \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND \ - ) \ - (d,state,tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE(d,call,state) \ - BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE \ - ( \ - d, \ - state, \ - call(BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_D(d,call,state) \ - BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE \ - ( \ - d, \ - state, \ - call(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_GCLRT(state) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_, \ - BOOST_PP_CAT(BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state),_D) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_GCLPL(state) \ - BOOST_PP_CAT \ - ( \ - BOOST_VMD_DETAIL_, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_GCL(state,rflag) \ - BOOST_PP_IIF \ - ( \ - rflag, \ - BOOST_VMD_DETAIL_SEQUENCE_GCLRT, \ - BOOST_VMD_DETAIL_SEQUENCE_GCLPL \ - ) \ - (state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT_CALL(d,call,state,rflag) \ - BOOST_PP_IIF \ - ( \ - rflag, \ - BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_D, \ - BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE \ - ) \ - (d,call,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT(d,state,rflag) \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT_CALL \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_GCL(state,rflag), \ - state, \ - rflag \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST(d,state) \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT \ - ( \ - d, \ - state, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE_REENTRANT(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state), \ - BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_UNKNOWN, \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED(d,state) \ - BOOST_PP_NOT_EQUAL_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state), \ - BOOST_PP_INC(BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state))) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM_FROM(d,from) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_GENERAL_RETURN(d,from), \ - ((SEQ,1),(TUPLE,1)), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_EXACT_RETURN(d,from), \ - ((SEQ,1),(LIST,1),(ARRAY,1),(TUPLE,1)), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_ARRAY_RETURN(d,from), \ - ((SEQ,1),(ARRAY,1),(TUPLE,1)), \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_LIST_RETURN(d,from), \ - ((SEQ,1),(LIST,1),(TUPLE,1)), \ - ((SEQ,1),(TUPLE,1)) \ - ) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM(d,state) \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM_FROM \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ANY(d,state) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM, \ - BOOST_VMD_IDENTITY(((SEQ,1),(TUPLE,1))) \ - ) \ - (d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM(d,state), \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM, \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ANY \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN(d,state) \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED, \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP, \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - BOOST_PP_TUPLE_PUSH_BACK \ - ( \ - state, \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES(d,state) \ - ), \ - 0 \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_ID_LOOP(d,state) \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED, \ - BOOST_VMD_DETAIL_SEQUENCE_INNER_OP, \ - BOOST_PP_TUPLE_PUSH_BACK(BOOST_PP_TUPLE_PUSH_BACK(state,((IDENTIFIER,1))),0) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_ID_EL(d,state) \ - ( \ - BOOST_PP_TUPLE_ELEM(1,BOOST_VMD_DETAIL_LIST_D(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER)), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,(BOOST_VMD_TYPE_LIST,BOOST_PP_NIL)), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_ID(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY_LIST_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_IDENTIFIER_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - ) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_OP_ID_EL, \ - BOOST_VMD_DETAIL_SEQUENCE_OP_ID_LOOP \ - ) \ - (d,state) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP_REDUCE_STATE(state) \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_OP(d,state) \ - BOOST_VMD_DETAIL_SEQUENCE_OP_REDUCE_STATE \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN, \ - BOOST_VMD_DETAIL_SEQUENCE_OP_ID \ - ) \ - (d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM_SZ(d,state) \ - BOOST_PP_LESS_EQUAL_D \ - ( \ - d, \ - BOOST_PP_SEQ_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state)), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM(d,state) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ - ), \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ - ) \ - ), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM_SZ \ - ) \ - (d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_PRED(d,state) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - ), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM \ - ) \ - (d,state) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK(output) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_ARRAY), \ - (0,()), \ - BOOST_PP_NIL \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK_D(d,output) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_ARRAY), \ - (0,()), \ - BOOST_PP_NIL \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE(output) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_TUPLE) \ - ), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK \ - ) \ - (output) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_D(d,output) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITOR \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_SEQ), \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_TUPLE) \ - ), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK_D \ - ) \ - (d,output) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET(state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ), \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ - ) -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET_D(d,state) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ - ), \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ - ) -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE(vseq,elem,output,from) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET \ - ( \ - BOOST_PP_WHILE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_PRED, \ - BOOST_VMD_DETAIL_SEQUENCE_OP, \ - ( \ - vseq, \ - BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE \ - ( \ - output \ - ), \ - elem, \ - output, \ - from \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D(d,vseq,elem,output,from) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET_D \ - ( \ - d, \ - BOOST_PP_WHILE_ ## d \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_PRED, \ - BOOST_VMD_DETAIL_SEQUENCE_OP, \ - ( \ - vseq, \ - BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_D \ - ( \ - d, \ - output \ - ), \ - elem, \ - output, \ - from \ - ) \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_elem.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_elem.hpp deleted file mode 100644 index 541b1a50284..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_elem.hpp +++ /dev/null @@ -1,985 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_ELEM_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_HPP - -#include <boost/preprocessor/arithmetic/dec.hpp> -#include <boost/preprocessor/comparison/greater.hpp> -#include <boost/preprocessor/control/expr_if.hpp> -#include <boost/preprocessor/control/expr_iif.hpp> -#include <boost/preprocessor/control/if.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/logical/bitor.hpp> -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/preprocessor/seq/elem.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/preprocessor/tuple/replace.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_identifier.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/match_identifier.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/only_after.hpp> -#include <boost/vmd/detail/sequence_common.hpp> - -/* - - Given modifications and the requested type, - determine whether or not we should be checking for specific identifiers - - 1 = check for specific identifiers - 0 = do no check for specific identifiers - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS(nm,type) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - type, \ - BOOST_VMD_TYPE_IDENTIFIER \ - ), \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS_D(d,nm,type) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - type, \ - BOOST_VMD_TYPE_IDENTIFIER \ - ), \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -/* - - Given modifications, determine whether or not an index should be part of the result - - 1 = index should be part of the result - 0 = index should not be part of the result - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_IS_INDEX_RESULT(nm) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(nm), \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_TYPE(nm), \ - BOOST_VMD_TYPE_IDENTIFIER \ - ), \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_IS_INDEX_RESULT_D(d,nm) \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(nm), \ - BOOST_PP_BITAND \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_MODS_RESULT_TYPE(nm), \ - BOOST_VMD_TYPE_IDENTIFIER \ - ), \ - BOOST_VMD_DETAIL_NOT_EMPTY \ - ( \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_INDEX(nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(nm), \ - (,,), \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_NO_INDEX(nm) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER(nm), \ - (,) \ - ) \ -/**/ - -/* - - Returns a failure result given the modifications - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT(nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_IS_INDEX_RESULT(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_INDEX, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_NO_INDEX \ - ) \ - (nm),nm, \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_D(d,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_IS_INDEX_RESULT_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_INDEX, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_NO_INDEX \ - ) \ - (nm),nm, \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_TUPLE(res) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 0, \ - BOOST_PP_TUPLE_ELEM(0,res) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_ONLY(res) \ - BOOST_PP_TUPLE_ELEM(0,res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_TUPLE(res) \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 1, \ - BOOST_PP_TUPLE_ELEM(0,res) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_ONLY(res) \ - BOOST_PP_TUPLE_ELEM(1,res) \ -/**/ - -/* - - Gets the 'data' of the result given the result and modifications - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA(res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_ONLY \ - ) \ - (res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_D(d,res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_ONLY \ - ) \ - (res) \ -/**/ - -/* - - Gets the 'type' of the result given the result and modifications - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE(res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_ONLY \ - ) \ - (res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_D(d,res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_ONLY \ - ) \ - (res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED_TUPLE(res) \ - BOOST_VMD_IS_EMPTY \ - ( \ - BOOST_PP_TUPLE_ELEM(0,res) \ - ) \ -/**/ - -/* - - Determines whether the result from the element access has failed or not - - returns 1 if it has failed, otherwise 0. - -*/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED(res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED_TUPLE, \ - BOOST_VMD_IS_EMPTY \ - ) \ - (res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED_D(d,res,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED_TUPLE, \ - BOOST_VMD_IS_EMPTY \ - ) \ - (res) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_CHELM(seq,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_GREATER(BOOST_PP_SEQ_SIZE(seq),elem), \ - BOOST_PP_SEQ_ELEM, \ - BOOST_VMD_EMPTY \ - ) \ - (elem,seq) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_CHELM_D(d,seq,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_GREATER_D(d,BOOST_PP_SEQ_SIZE(seq),elem), \ - BOOST_PP_SEQ_ELEM, \ - BOOST_VMD_EMPTY \ - ) \ - (elem,seq) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM_RES(data,elem) \ - ( \ - BOOST_PP_SEQ_ELEM(elem,BOOST_PP_TUPLE_ELEM(0,data)), \ - BOOST_PP_TUPLE_ELEM(1,data) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM(data,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_GREATER(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(0,data)),elem), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM_RES, \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (data,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM_D(d,data,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_GREATER_D(d,BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(0,data)),elem), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM_RES, \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (data,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY(seq,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_CHELM \ - ) \ - (seq,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_D(d,seq,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_CHELM_D \ - ) \ - (d,seq,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER(data,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,data)), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM \ - ) \ - (data,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_D(d,data,elem) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,data)), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_CHELM_D \ - ) \ - (d,data,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ(seq,elem,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY \ - ) \ - (seq,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_D(d,seq,elem,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_AFTER_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_ONLY_D \ - ) \ - (d,seq,elem) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(...) \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PROCESS(elem,vseq,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \ - ( \ - vseq, \ - elem, \ - BOOST_VMD_TYPE_SEQ, \ - nm \ - ), \ - elem, \ - nm \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PROCESS_D(d,elem,vseq,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FSEQ_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \ - ( \ - d, \ - vseq, \ - elem, \ - BOOST_VMD_TYPE_SEQ, \ - nm \ - ), \ - elem, \ - nm \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_EMPTY(elem,vseq,nm) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_EMPTY_D(d,elem,vseq,nm) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_CE(elem,vseq,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(vseq), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PROCESS, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_EMPTY \ - ) \ - (elem,vseq,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_CE_D(d,elem,vseq,nm) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(vseq), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PROCESS_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_EMPTY_D \ - ) \ - (d,elem,vseq,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN(res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN(res,nm,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER(nm), \ - BOOST_PP_TUPLE_ELEM, \ - BOOST_VMD_IDENTITY(res) \ - ) \ - (1,res) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_INDEX_JRES(data,index) \ - BOOST_PP_IF \ - ( \ - index, \ - (data,BOOST_PP_DEC(index)), \ - (,) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_JRES(data,index) \ - BOOST_PP_EXPR_IF \ - ( \ - index, \ - data \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_MATCH(data,nm,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_INDEX_JRES, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_JRES \ - ) \ - (data,index) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_TUP(data,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_MATCH \ - ( \ - data, \ - nm, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER \ - ( \ - data, \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_TUP_D(d,data,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_MATCH \ - ( \ - data, \ - nm, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_D \ - ( \ - d, \ - data, \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID(data,nm,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS(nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_TUP, \ - BOOST_VMD_IDENTITY(data) \ - ) \ - (data,nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_D(d,data,nm,type) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS_D(d,nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_TUP_D, \ - BOOST_VMD_IDENTITY(data) \ - ) \ - (d,data,nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY(res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID \ - ( \ - BOOST_PP_TUPLE_ELEM(1,res), \ - nm, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_ID_D \ - ( \ - d, \ - BOOST_PP_TUPLE_ELEM(1,res), \ - nm, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_CHANGE(res,nm,type) \ - BOOST_PP_TUPLE_REPLACE \ - ( \ - res, \ - 0, \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 1, \ - BOOST_PP_TUPLE_ELEM(0,res) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_CHANGE_D(d,res,nm,type) \ - BOOST_PP_TUPLE_REPLACE_D \ - ( \ - d, \ - res, \ - 0, \ - BOOST_PP_TUPLE_ELEM \ - ( \ - 1, \ - BOOST_PP_TUPLE_ELEM(0,res) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_CHANGE \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_ONLY_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_CHANGE_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_SUCCESS(res,nm,type,index) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER \ - ( \ - BOOST_PP_TUPLE_PUSH_BACK(res,BOOST_PP_DEC(index)), \ - nm, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_SUCCESS_D(d,res,nm,type,index) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER_D \ - ( \ - d, \ - BOOST_PP_TUPLE_PUSH_BACK(res,BOOST_PP_DEC(index)), \ - nm, \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_FAILURE(res,nm,type,index) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT(nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_FAILURE_D(d,res,nm,type,index) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_D(d,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_INDEX_JRES(res,nm,type,index) \ - BOOST_PP_IF \ - ( \ - index, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_SUCCESS, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_FAILURE \ - ) \ - (res,nm,type,index) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_INDEX_JRES_D(d,res,nm,type,index) \ - BOOST_PP_IF \ - ( \ - index, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_SUCCESS_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_FAILURE_D \ - ) \ - (d,res,nm,type,index) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_FAILURE(res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT(nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_FAILURE_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_D(d,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES(res,nm,type,index) \ - BOOST_PP_IF \ - ( \ - index, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_FAILURE \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_D(d,res,nm,type,index) \ - BOOST_PP_IF \ - ( \ - index, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_FAILURE_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_RES(res,nm,type,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_INDEX_JRES, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES \ - ) \ - (res,nm,type,index) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_RES_D(d,res,nm,type,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_INDEX(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_INDEX_JRES_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_JRES_D \ - ) \ - (d,res,nm,type,index) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID(res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_RES \ - ( \ - res, \ - nm, \ - type, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA(res,nm), \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_RES_D \ - ( \ - d, \ - res, \ - nm, \ - type, \ - BOOST_VMD_DETAIL_MATCH_IDENTIFIER_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_D(d,res,nm), \ - BOOST_VMD_DETAIL_MODS_RESULT_OTHER(nm) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS(nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_CHECK_FOR_IDENTIFIERS_D(d,nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ID_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_ONLY_CAFTER_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_SPLIT_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_ONLY_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_FAILED(res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT(nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_FAILED_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_D(d,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_ID(res,nm,type) \ - BOOST_VMD_IS_IDENTIFIER \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA(res,nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_ID_D(d,res,nm,type) \ - BOOST_VMD_IS_IDENTIFIER_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_DATA_D(d,res,nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_OTHER(res,nm,type) \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE(res,nm), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_OTHER_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_RESULT_TYPE_D(d,res,nm), \ - type \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_IDENTIFIER, \ - type \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_ID, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_OTHER \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_IDENTIFIER, \ - type \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_ID_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_OTHER_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE(res,nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_FAILED \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_MATCHING_TYPE_D(d,res,nm,type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_CHECK_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_FAILED_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_NF(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_NF_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(type), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_FIN_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_PT_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_FAILED(res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT(nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_FAILED_D(d,res,nm,type) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_FAILURE_RESULT_D(d,nm) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE(res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED(res,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_FAILED, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_NF \ - ) \ - (res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_D(d,res,nm,type) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_HAS_FAILED_D(d,res,nm), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_FAILED_D, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_NF_D \ - ) \ - (d,res,nm,type) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_COA(res,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE \ - ( \ - res, \ - nm, \ - BOOST_VMD_DETAIL_MODS_RESULT_TYPE(nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_COA_D(d,res,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_TYPE_D \ - ( \ - d, \ - res, \ - nm, \ - BOOST_VMD_DETAIL_MODS_RESULT_TYPE(nm) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM(elem,vseq,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_COA \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_CE(elem,vseq,nm), \ - nm \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_D(d,elem,vseq,nm) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_COA_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_CE_D(d,elem,vseq,nm), \ - nm \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM(allow,elem,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM \ - ( \ - elem, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - BOOST_VMD_DETAIL_NEW_MODS(allow,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ELEM_D(d,allow,elem,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_NM_D \ - ( \ - d, \ - elem, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,allow,__VA_ARGS__) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_ELEM_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_enum.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_enum.hpp deleted file mode 100644 index 4e8a12eeaba..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_enum.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_ENUM_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_ENUM_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/enum.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/sequence_to_tuple.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_ENUM \ - ) \ - (tuple) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ENUM(...) \ - BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE(__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_ENUM_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_D(d,__VA_ARGS__) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_ENUM_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_size.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_size.hpp deleted file mode 100644 index 0f308eb8294..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_size.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_SIZE_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_SIZE_HPP - -#include <boost/preprocessor/array/size.hpp> -#include <boost/vmd/detail/sequence_to_array.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_SIZE(vseq) \ - BOOST_PP_ARRAY_SIZE(BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY(vseq)) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_SIZE_D(d,vseq) \ - BOOST_PP_ARRAY_SIZE(BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_D(d,vseq)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_SIZE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_to_array.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_to_array.hpp deleted file mode 100644 index a9383a95e8c..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_to_array.hpp +++ /dev/null @@ -1,47 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_ARRAY, \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ), \ - (0,()) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_ARRAY, \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ), \ - (0,()) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_to_list.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_to_list.hpp deleted file mode 100644 index 1d612c47e8e..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_to_list.hpp +++ /dev/null @@ -1,47 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_TO_LIST_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_TO_LIST_HPP - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_LIST(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_LIST, \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ), \ - BOOST_PP_NIL \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_LIST_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_LIST, \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ), \ - BOOST_PP_NIL \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_TO_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_to_seq.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_to_seq.hpp deleted file mode 100644 index d2aaee9124c..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_to_seq.hpp +++ /dev/null @@ -1,45 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ_HPP - -#include <boost/preprocessor/control/expr_iif.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ(...) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_SEQ, \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ_D(d,...) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_SEQ, \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_to_tuple.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_to_tuple.hpp deleted file mode 100644 index cb5286c63cc..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_to_tuple.hpp +++ /dev/null @@ -1,45 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_HPP - -#include <boost/preprocessor/control/expr_iif.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/not_empty.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE(...) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_D(d,...) \ - BOOST_PP_EXPR_IIF \ - ( \ - BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \ - , \ - BOOST_VMD_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/sequence_type.hpp b/contrib/restricted/boost/boost/vmd/detail/sequence_type.hpp deleted file mode 100644 index 4b0a0f95277..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/sequence_type.hpp +++ /dev/null @@ -1,274 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SEQUENCE_TYPE_HPP) -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_HPP - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/elem.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/preprocessor/variadic/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/detail/equal_type.hpp> -#include <boost/vmd/detail/is_array_common.hpp> -#include <boost/vmd/detail/is_list.hpp> -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY(dtuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX(BOOST_PP_TUPLE_ELEM(1,dtuple)), \ - BOOST_VMD_TYPE_ARRAY, \ - BOOST_VMD_TYPE_TUPLE \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY_D(d,dtuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_ARRAY_SYNTAX_D(d,BOOST_PP_TUPLE_ELEM(1,dtuple)), \ - BOOST_VMD_TYPE_ARRAY, \ - BOOST_VMD_TYPE_TUPLE \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST(dtuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST(BOOST_PP_TUPLE_ELEM(1,dtuple)), \ - BOOST_VMD_TYPE_LIST, \ - BOOST_VMD_TYPE_TUPLE \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST_D(d,dtuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_IS_LIST_D(d,BOOST_PP_TUPLE_ELEM(1,dtuple)), \ - BOOST_VMD_TYPE_LIST, \ - BOOST_VMD_TYPE_TUPLE \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_BOTH(dtuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE \ - ( \ - BOOST_VMD_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST(dtuple) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_LIST) \ - ) \ - (dtuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_BOTH_D(d,dtuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D \ - ( \ - d, \ - BOOST_VMD_TYPE_TUPLE, \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST_D(d,dtuple) \ - ), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY_D, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_LIST) \ - ) \ - (d,dtuple) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MODS(dtuple,rtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(rtype,BOOST_VMD_DETAIL_MODS_RETURN_ARRAY), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(rtype,BOOST_VMD_DETAIL_MODS_RETURN_LIST), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(rtype,BOOST_VMD_DETAIL_MODS_RETURN_TUPLE), \ - BOOST_VMD_IDENTITY(BOOST_PP_TUPLE_ELEM(0,dtuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_BOTH \ - ) \ - ) \ - ) \ - ) \ - (dtuple) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MODS_D(d,dtuple,rtype) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,rtype,BOOST_VMD_DETAIL_MODS_RETURN_ARRAY), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_ARRAY_D, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,rtype,BOOST_VMD_DETAIL_MODS_RETURN_LIST), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_LIST_D, \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL_D(d,rtype,BOOST_VMD_DETAIL_MODS_RETURN_TUPLE), \ - BOOST_VMD_IDENTITY(BOOST_PP_TUPLE_ELEM(0,dtuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_BOTH_D \ - ) \ - ) \ - ) \ - ) \ - (d,dtuple) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MORE(dtuple,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MODS \ - ( \ - dtuple, \ - BOOST_VMD_DETAIL_MODS_RESULT_RETURN_TYPE \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_ALL,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MORE_D(d,dtuple,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MODS_D \ - ( \ - d, \ - dtuple, \ - BOOST_VMD_DETAIL_MODS_RESULT_RETURN_TYPE \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_ALL,__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_UNARY(dtuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE(BOOST_VMD_TYPE_TUPLE,BOOST_PP_TUPLE_ELEM(0,dtuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MORE, \ - BOOST_VMD_IDENTITY(BOOST_PP_TUPLE_ELEM(0,dtuple)) \ - ) \ - (dtuple,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_UNARY_D(d,dtuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,BOOST_VMD_TYPE_TUPLE,BOOST_PP_TUPLE_ELEM(0,dtuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_MORE_D, \ - BOOST_VMD_IDENTITY(BOOST_PP_TUPLE_ELEM(0,dtuple)) \ - ) \ - (d,dtuple,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_SEQUENCE(tuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1,tuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_UNARY, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_SEQUENCE) \ - ) \ - (BOOST_PP_TUPLE_ELEM(0,tuple),__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_SEQUENCE_D(d,tuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1,tuple)), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_UNARY_D, \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_SEQUENCE) \ - ) \ - (d,BOOST_PP_TUPLE_ELEM(0,tuple),__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE(tuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_EMPTY), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_SEQUENCE \ - ) \ - (tuple,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_D(d,tuple,...) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0,tuple)), \ - BOOST_VMD_IDENTITY(BOOST_VMD_TYPE_EMPTY), \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_SEQUENCE_D \ - ) \ - (d,tuple,__VA_ARGS__) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE \ - ( \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM \ - ( \ - BOOST_VMD_ALLOW_ALL, \ - 0, \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \ - BOOST_VMD_RETURN_AFTER, \ - BOOST_VMD_RETURN_TYPE_TUPLE \ - ), \ - __VA_ARGS__ \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_SEQUENCE_TYPE_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_TUPLE_D \ - ( \ - d, \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_D \ - ( \ - d, \ - BOOST_VMD_ALLOW_ALL, \ - 0, \ - BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \ - BOOST_VMD_RETURN_AFTER, \ - BOOST_VMD_RETURN_TYPE_TUPLE \ - ), \ - __VA_ARGS__ \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_SEQUENCE_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/setup.hpp b/contrib/restricted/boost/boost/vmd/detail/setup.hpp deleted file mode 100644 index a237be6d930..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/setup.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_SETUP_HPP) -#define BOOST_VMD_DETAIL_SETUP_HPP - -#include <boost/preprocessor/config/config.hpp> - -#if defined(BOOST_VMD_MSVC) -#undef BOOST_VMD_MSVC -#endif -#if defined(BOOST_VMD_MSVC_V8) -#undef BOOST_VMD_MSVC_V8 -#endif -#if BOOST_PP_VARIADICS -#define BOOST_VMD_MSVC BOOST_PP_VARIADICS_MSVC -#if BOOST_VMD_MSVC && defined(_MSC_VER) && _MSC_VER == 1400 -#define BOOST_VMD_MSVC_V8 1 -#else -#define BOOST_VMD_MSVC_V8 0 -#endif /* BOOST_VMD_MSVC && defined(_MSC_VER) && _MSC_VER == 1400 */ -#if !defined(BOOST_VMD_ASSERT_DATA) -#if defined(NDEBUG) -#define BOOST_VMD_ASSERT_DATA 0 -#else -#define BOOST_VMD_ASSERT_DATA 1 -#endif /* NDEBUG */ -#endif /* BOOST_VMD_ASSERT_DATA */ -#else -#define BOOST_VMD_MSVC 0 -#define BOOST_VMD_MSVC_V8 0 -#if defined(BOOST_VMD_ASSERT_DATA) -#undef BOOST_VMD_ASSERT_DATA -#endif -#define BOOST_VMD_ASSERT_DATA 0 -#endif /* BOOST_PP_VARIADICS */ - -#endif /* BOOST_VMD_DETAIL_SETUP_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/tuple.hpp b/contrib/restricted/boost/boost/vmd/detail/tuple.hpp deleted file mode 100644 index f8a614c5622..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/tuple.hpp +++ /dev/null @@ -1,196 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_TUPLE_HPP) -#define BOOST_VMD_DETAIL_TUPLE_HPP - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/preprocessor/variadic/elem.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/empty_result.hpp> -#include <boost/vmd/detail/mods.hpp> -#include <boost/vmd/detail/parens.hpp> - -#define BOOST_VMD_DETAIL_TUPLE_BST_CS(vseq) \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_BEGIN_PARENS(vseq)),1) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BST_CS_D(d,vseq) \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_BEGIN_PARENS(vseq)),1) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BST(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_BST_CS, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BST_D(d,vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_BST_CS_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BSEQ_NXT(vseq) \ - BOOST_VMD_DETAIL_TUPLE_BST(BOOST_VMD_DETAIL_AFTER_PARENS_DATA(vseq)) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BSEQ_NXT_D(d,vseq) \ - BOOST_VMD_DETAIL_TUPLE_BST_D(d,BOOST_VMD_DETAIL_AFTER_PARENS_DATA(vseq)) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BSEQ(vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BST(vseq), \ - BOOST_VMD_DETAIL_TUPLE_BSEQ_NXT, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_BSEQ_D(d,vseq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BST_D(d,vseq), \ - BOOST_VMD_DETAIL_TUPLE_BSEQ_NXT_D, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (d,vseq) \ - ) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_SPLIT_CHK_SEQ(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BSEQ(vseq), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SPLIT_PARENS \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_SPLIT_CHK_SEQ_D(d,vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BSEQ_D(d,vseq), \ - BOOST_VMD_DETAIL_EMPTY_RESULT, \ - BOOST_VMD_DETAIL_SPLIT_PARENS \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_SPLIT(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_SPLIT_CHK_SEQ, \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_SPLIT_D(d,vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_SPLIT_CHK_SEQ_D, \ - BOOST_VMD_DETAIL_EMPTY_RESULT \ - ) \ - (d,vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_PROCESS_CHK_SEQ(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BSEQ(vseq), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_BEGIN_PARENS \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_PROCESS_CHK_SEQ_D(d,vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_TUPLE_BSEQ_D(d,vseq), \ - BOOST_VMD_EMPTY, \ - BOOST_VMD_DETAIL_BEGIN_PARENS \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_PROCESS(vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_PROCESS_CHK_SEQ, \ - BOOST_VMD_EMPTY \ - ) \ - (vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_PROCESS_D(d,vseq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS(vseq), \ - BOOST_VMD_DETAIL_TUPLE_PROCESS_CHK_SEQ_D, \ - BOOST_VMD_EMPTY \ - ) \ - (d,vseq) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE(...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_TUPLE_SPLIT, \ - BOOST_VMD_DETAIL_TUPLE_PROCESS \ - ) \ - (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#define BOOST_VMD_DETAIL_TUPLE_D(d,...) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ - ( \ - BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ - ), \ - BOOST_VMD_DETAIL_TUPLE_SPLIT_D, \ - BOOST_VMD_DETAIL_TUPLE_PROCESS_D \ - ) \ - (d,BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/type_registration.hpp b/contrib/restricted/boost/boost/vmd/detail/type_registration.hpp deleted file mode 100644 index 29aecf196da..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/type_registration.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_IS_TYPE_REGISTRATION_HPP) -#define BOOST_VMD_DETAIL_IS_TYPE_REGISTRATION_HPP - -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_UNKNOWN (BOOST_VMD_TYPE_UNKNOWN) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_EMPTY (BOOST_VMD_TYPE_EMPTY) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_ARRAY (BOOST_VMD_TYPE_ARRAY) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_LIST (BOOST_VMD_TYPE_LIST) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_SEQ (BOOST_VMD_TYPE_SEQ) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_TUPLE (BOOST_VMD_TYPE_TUPLE) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_IDENTIFIER (BOOST_VMD_TYPE_IDENTIFIER) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_NUMBER (BOOST_VMD_TYPE_NUMBER) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_SEQUENCE (BOOST_VMD_TYPE_SEQUENCE) -#define BOOST_VMD_REGISTER_BOOST_VMD_TYPE_TYPE (BOOST_VMD_TYPE_TYPE) - -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_UNKNOWN_BOOST_VMD_TYPE_UNKNOWN -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_EMPTY_BOOST_VMD_TYPE_EMPTY -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_ARRAY_BOOST_VMD_TYPE_ARRAY -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_LIST_BOOST_VMD_TYPE_LIST -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_SEQ_BOOST_VMD_TYPE_SEQ -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_TUPLE_BOOST_VMD_TYPE_TUPLE -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_IDENTIFIER_BOOST_VMD_TYPE_IDENTIFIER -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_NUMBER_BOOST_VMD_TYPE_NUMBER -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_SEQUENCE_BOOST_VMD_TYPE_SEQUENCE -#define BOOST_VMD_DETECT_BOOST_VMD_TYPE_TYPE_BOOST_VMD_TYPE_TYPE - -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_UNKNOWN (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_UNKNOWN) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_EMPTY (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_EMPTY) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_ARRAY (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_ARRAY) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_LIST (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_LIST) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_SEQ (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_SEQ) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_TUPLE (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_TUPLE) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_IDENTIFIER (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_IDENTIFIER) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_NUMBER (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_NUMBER) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_SEQUENCE (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_SEQUENCE) -#define BOOST_VMD_SUBTYPE_REGISTER_BOOST_VMD_TYPE_TYPE (BOOST_VMD_TYPE_TYPE,BOOST_VMD_TYPE_TYPE) - -#endif /* BOOST_VMD_DETAIL_IS_TYPE_REGISTRATION_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/detail/variadic_pop_front.hpp b/contrib/restricted/boost/boost/vmd/detail/variadic_pop_front.hpp deleted file mode 100644 index 97a7ca320eb..00000000000 --- a/contrib/restricted/boost/boost/vmd/detail/variadic_pop_front.hpp +++ /dev/null @@ -1,24 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_DETAIL_VARIADIC_POP_FRONT_HPP) -#define BOOST_VMD_DETAIL_VARIADIC_POP_FRONT_HPP - -#include <boost/preprocessor/tuple/enum.hpp> -#include <boost/preprocessor/tuple/pop_front.hpp> -#include <boost/preprocessor/variadic/to_tuple.hpp> - -#define BOOST_VMD_DETAIL_VARIADIC_POP_FRONT(...) \ - BOOST_PP_TUPLE_ENUM \ - ( \ - BOOST_PP_TUPLE_POP_FRONT \ - ( \ - BOOST_PP_VARIADIC_TO_TUPLE(__VA_ARGS__) \ - ) \ - ) \ -/**/ - -#endif /* BOOST_VMD_DETAIL_VARIADIC_POP_FRONT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/elem.hpp b/contrib/restricted/boost/boost/vmd/elem.hpp deleted file mode 100644 index f6d575e22f4..00000000000 --- a/contrib/restricted/boost/boost/vmd/elem.hpp +++ /dev/null @@ -1,292 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ELEM_HPP) -#define BOOST_VMD_ELEM_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/modifiers.hpp> -#include <boost/vmd/detail/sequence_elem.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ELEM(elem,...) - - \brief Accesses an element of a sequence. - - elem = A sequence element number. From 0 to sequence size - 1. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to access. - Further variadic parameters are all optional. - - With no further variadic parameters the macro returns the particular element - in the sequence. If the element number is outside the bounds of the sequence - macro access fails and the macro turns emptiness. - - Optional parameters determine what it means that an element is successfully - accessed as well as what data is returned by the macro. - - Filters: specifying a VMD type tells the macro to return the element only - if it is of the VMD type specified, else macro access fails. If more than - one VMD type is specified as an optional parameter the last one - specified is the filter. - - Matching Identifiers: If the filter is specified as the identifier type, BOOST_VMD_TYPE_IDENTIFIER, - optional parameters which are identifiers specify that the element accessed - must match one of the identifiers else access fails. The identifiers may be specified multiple - times as single optional parameters or once as a tuple of identifier - parameters. If the identifiers are specified as single optional parameters - they cannot be any of the specific BOOST_VMD_ optional parameters in order to be - recognized as matching identifiers. Normally this should never be the case. - The only situation where this could occur is if the VMD types, which are filters, - are used as matching identifiers; in this case the matching identifiers need - to be passed as a tuple of identifier parameters so they are not treated - as filters. - - Filters and matching identifiers change what it means that an element is successfully - accessed. They do not change what data is returned by the macro. The remaining optional - parameters do not change what it means that an element is successfully accessed but they - do change what data is returned by the macro. - - Splitting: Splitting allows the macro to return the rest of the sequence - after the element accessed. - - If BOOST_VMD_RETURN_AFTER is specified the return is a tuple - with the element accessed as the first tuple parameter and the rest of - the sequence as the second tuple parameter. If element access fails - both tuple parameters are empty. - - If BOOST_VMD_RETURN_ONLY_AFTER - is specified the return is the rest of the sequence after the element accessed - found. If the element access fails the return is emptiness. - - If BOOST_VMD_RETURN_NO_AFTER, the default, is specified no splitting - occurs. - - If more than one of the splitting identifiers are specified - the last one specified determines the splitting. - - Return Type: The element accessed can be changed to return both the type - of the element as well as the element data with optional return type - parameters. When a type is returned, the element accessed which is returned becomes a - two-element tuple where the type of the element accessed is the first tuple element and the element - data itself is the second tuple element. If the macro fails to access the - element the element access returned is emptiness and not a tuple. - - If BOOST_VMD_RETURN_NO_TYPE, the default, is specified no type is returned - as part of the element accessed. - - If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. - - If BOOST_VMD_RETURN_TYPE_ARRAY is specified - an array type is returned if the element is an array, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_TUPLE is specified - a tuple type is returned for all tuple-like data, else the actual type - is returned for non-tuple data. - - If more than one return type optional - parameter is specified the last one specified determines the return type. - - If a filter is specified optional return type parameters are ignored and - the default BOOST_VMD_RETURN_NO_TYPE is in effect. - - Index: If the filter is specified as the identifier type, BOOST_VMD_TYPE_IDENTIFIER, - and matching identifiers are specified, an index parameter specifies that the - numeric index, starting with 0, of the matching identifier found, be returned - as part of the result. - - If BOOST_VMD_RETURN_INDEX is specified an index is returned - as part of the result. - - If BOOST_VMD_RETURN_NO_INDEX, the default, is specified - no index is returned as part of the result. - - If both are specified the last one specified determines the index parameter. - - When an index is returned as part of the result, the result is a tuple where the - element accessed is the first tuple parameter and the index is the last tuple parameter. - If element access fails the index is empty. If there is no BOOST_VMD_TYPE_IDENTIFIER - filter or if there are no matching identifiers the BOOST_VMD_RETURN_INDEX is ignored - and no index is returned as part of the result. - - returns = With no optional parameters the element accessed is returned, or emptiness if - element is outside the bounds of the sequence. Filters and matching identifiers - can change the meaning of whether the element accessed is returned or failure - occurs, but whenever failure occurs emptiness is returned as the element access part - of that failure, else the element accessed is returned. Return type optional parameters, - when filters are not used, return the element accessed as a two-element tuple - where the first tuple element is the type and the second tuple element is the - data; if the element is not accessed then emptiness is returned as the element access - and not a tuple. Splitting with BOOST_VMD_RETURN_AFTER returns a tuple where the element accessed - is the first tuple element and the rest of the sequence is the second tuple element. - Splitting with BOOST_VMD_RETURN_ONLY_AFTER returns the rest of the sequence after - the element accessed or emptiness if the element can not be accessed. Indexing - returns the index as part of the output only if filtering with - BOOST_VMD_TYPE_IDENTIFIER is specified and matching identifiers are specified. - When the index is returned with BOOST_VMD_RETURN_AFTER it is the third element - of the tuple returned, else it is the second element of a tuple where the element - accessed is the first element of the tuple. - -*/ - -#define BOOST_VMD_ELEM(elem,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM(BOOST_VMD_ALLOW_ALL,elem,__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_ELEM_D(d,elem,...) - - \brief Accesses an element of a sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - elem = A sequence element number. From 0 to sequence size - 1. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to access. - Further variadic parameters are all optional. - - With no further variadic parameters the macro returns the particular element - in the sequence. If the element number is outside the bounds of the sequence - macro access fails and the macro turns emptiness. - - Optional parameters determine what it means that an element is successfully - accessed as well as what data is returned by the macro. - - Filters: specifying a VMD type tells the macro to return the element only - if it is of the VMD type specified, else macro access fails. If more than - one VMD type is specified as an optional parameter the last one - specified is the filter. - - Matching Identifiers: If the filter is specified as the identifier type, BOOST_VMD_TYPE_IDENTIFIER, - optional parameters which are identifiers specify that the element accessed - must match one of the identifiers else access fails. The identifiers may be specified multiple - times as single optional parameters or once as a tuple of identifier - parameters. If the identifiers are specified as single optional parameters - they cannot be any of the specific BOOST_VMD_ optional parameters in order to be - recognized as matching identifiers. Normally this should never be the case. - The only situation where this could occur is if the VMD types, which are filters, - are used as matching identifiers; in this case the matching identifiers need - to be passed as a tuple of identifier parameters so they are not treated - as filters. - - Filters and matching identifiers change what it means that an element is successfully - accessed. They do not change what data is returned by the macro. The remaining optional - parameters do not change what it means that an element is successfully accessed but they - do change what data is returned by the macro. - - Splitting: Splitting allows the macro to return the rest of the sequence - after the element accessed. - - If BOOST_VMD_RETURN_AFTER is specified the return is a tuple - with the element accessed as the first tuple parameter and the rest of - the sequence as the second tuple parameter. If element access fails - both tuple parameters are empty. - - If BOOST_VMD_RETURN_ONLY_AFTER - is specified the return is the rest of the sequence after the element accessed - found. If the element access fails the return is emptiness. - - If BOOST_VMD_RETURN_NO_AFTER, the default, is specified no splitting - occurs. - - If more than one of the splitting identifiers are specified - the last one specified determines the splitting. - - Return Type: The element accessed can be changed to return both the type - of the element as well as the element data with optional return type - parameters. When a type is returned, the element accessed which is returned becomes a - two-element tuple where the type of the element accessed is the first tuple element and the element - data itself is the second tuple element. If the macro fails to access the - element the element access returned is emptiness and not a tuple. - - If BOOST_VMD_RETURN_NO_TYPE, the default, is specified no type is returned - as part of the element accessed. - - If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. - - If BOOST_VMD_RETURN_TYPE_ARRAY is specified - an array type is returned if the element is an array, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_TUPLE is specified - a tuple type is returned for all tuple-like data, else the actual type - is returned for non-tuple data. If more than one return type optional - parameter is specified the last one specified determines the return type. - - If a filter is specified optional return type parameters are ignored and - the default BOOST_VMD_RETURN_NO_TYPE is in effect. - - Index: If the filter is specified as the identifier type, BOOST_VMD_TYPE_IDENTIFIER, - and matching identifiers are specified, an index parameter specifies that the - numeric index, starting with 0, of the matching identifier found, be returned - as part of the result. - - If BOOST_VMD_RETURN_INDEX is specified an index is returned - as part of the result. - - If BOOST_VMD_RETURN_NO_INDEX, the default, is specified - no index is returned as part of the result. - - If both are specified the last one specified determines the index parameter. - - When an index is returned as part of the result, the result is a tuple where the - element accessed is the first tuple parameter and the index is the last tuple parameter. - If element access fails the index is empty. If there is no BOOST_VMD_TYPE_IDENTIFIER - filter or if there are no matching identifiers the BOOST_VMD_RETURN_INDEX is ignored - and no index is returned as part of the result. - - returns = With no optional parameters the element accessed is returned, or emptiness if - element is outside the bounds of the sequence. Filters and matching identifiers - can change the meaning of whether the element accessed is returned or failure - occurs, but whenever failure occurs emptiness is returned as the element access part - of that failure, else the element accessed is returned. Return type optional parameters, - when filters are not used, return the element accessed as a two-element tuple - where the first tuple element is the type and the second tuple element is the - data; if the element is not accessed then emptiness is returned as the element access - and not a tuple. Splitting with BOOST_VMD_RETURN_AFTER returns a tuple where the element accessed - is the first tuple element and the rest of the sequence is the second tuple element. - Splitting with BOOST_VMD_RETURN_ONLY_AFTER returns the rest of the sequence after - the element accessed or emptiness if the element can not be accessed. Indexing - returns the index as part of the output only if filtering with - BOOST_VMD_TYPE_IDENTIFIER is specified and matching identifiers are specified. - When the index is returned with BOOST_VMD_RETURN_AFTER it is the third element - of the tuple returned, else it is the second element of a tuple where the element - accessed is the first element of the tuple. - -*/ - -#define BOOST_VMD_ELEM_D(d,elem,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ELEM_D(d,BOOST_VMD_ALLOW_ALL,elem,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ELEM_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/empty.hpp b/contrib/restricted/boost/boost/vmd/empty.hpp deleted file mode 100644 index 8aaecc49c4c..00000000000 --- a/contrib/restricted/boost/boost/vmd/empty.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_EMPTY_HPP) -#define BOOST_VMD_EMPTY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_EMPTY(...) - - \brief Outputs emptiness. - - ... = any variadic parameters. The parameters are ignored. - - This macro is used to output emptiness ( nothing ) no matter - what is passed to it. - - If you use this macro to return a result, as in 'result BOOST_VMD_EMPTY' - subsequently invoked, you should surround the result with - BOOST_VMD_IDENTITY_RESULT to smooth over a VC++ problem. - -*/ - -#define BOOST_VMD_EMPTY(...) - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/enum.hpp b/contrib/restricted/boost/boost/vmd/enum.hpp deleted file mode 100644 index b08a30ae0af..00000000000 --- a/contrib/restricted/boost/boost/vmd/enum.hpp +++ /dev/null @@ -1,103 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_ENUM_HPP) -#define BOOST_VMD_ENUM_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_enum.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_ENUM(...) - - \brief Converts a sequence to comma-separated elements which are the elements of the sequence. - - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = Comma-separated data, otherwise known as variadic data. - If the sequence is empty the variadic data is empty. If an - optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as part of the variadic data. Otherwise just the data - of each element is returned, which is the default. - -*/ - -#define BOOST_VMD_ENUM(...) \ - BOOST_VMD_DETAIL_SEQUENCE_ENUM(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_ENUM_D(d,...) - - \brief Converts a sequence to comma-separated elements which are the elements of the sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = Comma-separated data, otherwise known as variadic data. - If the sequence is empty the variadic data is empty. If an - optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as part of the variadic data. Otherwise just the data - of each element is returned, which is the default. - -*/ - -#define BOOST_VMD_ENUM_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_ENUM_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_ENUM_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/equal.hpp b/contrib/restricted/boost/boost/vmd/equal.hpp deleted file mode 100644 index 005a2d37057..00000000000 --- a/contrib/restricted/boost/boost/vmd/equal.hpp +++ /dev/null @@ -1,89 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_EQUAL_HPP) -#define BOOST_VMD_EQUAL_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/equal.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_EQUAL(sequence,...) - - \brief Tests any two sequences for equality. - - sequence = First sequence. - ... = variadic parameters, maximum of 2. - - The first variadic parameter is required and is the second sequence to test. - The optional second variadic parameter is a VMD type as a filter. - - The macro tests any two sequences for equality. For sequences to be equal the - VMD types of each sequence must be equal and the individual elements of the - sequence must be equal. For Boost PP composite types the macro tests that - the composite types have the same size and then tests that each element - of the composite type is equal. This means that all elements of a composite - type must be a VMD type in order to use this macro successfully. - - The single optional parameter is a filter. The filter is a VMD type which specifies - that both sequences to test must be of that VMD type, as well as being equal to - each other, for the test to succeed. - - returns = 1 upon success or 0 upon failure. Success means that both sequences are - equal and, if the optional parameter is specified, that the sequences are - of the optional VMD type. - -*/ - -#define BOOST_VMD_EQUAL(sequence,...) \ - BOOST_VMD_DETAIL_EQUAL(sequence,__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_EQUAL_D(d,sequence,...) - - \brief Tests any two sequences for equality. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = First sequence. - ... = variadic parameters, maximum of 2. - - The first variadic parameter is required and is the second sequence to test. - The optional second variadic parameter is a VMD type as a filter. - - The macro tests any two sequences for equality. For sequences to be equal the - VMD types of each sequence must be equal and the individual elements of the - sequence must be equal. For Boost PP composite types the macro tests that - the composite types have the same size and then tests that each element - of the composite type is equal. This means that all elements of a composite - type must be a VMD type in order to use this macro successfully. - - The single optional parameter is a filter. The filter is a VMD type which specifies - that both sequences to test must be of that VMD type, as well as being equal to - each other, for the test to succeed. - - returns = 1 upon success or 0 upon failure. Success means that both sequences are - equal and, if the optional parameter is specified, that the sequences are - of the optional VMD type. - -*/ - -#define BOOST_VMD_EQUAL_D(d,sequence,...) \ - BOOST_VMD_DETAIL_EQUAL_D(d,sequence,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_EQUAL_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/get_type.hpp b/contrib/restricted/boost/boost/vmd/get_type.hpp deleted file mode 100644 index 489e155f106..00000000000 --- a/contrib/restricted/boost/boost/vmd/get_type.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_GET_TYPE_HPP) -#define BOOST_VMD_GET_TYPE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_type.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_GET_TYPE(...) - - \brief Returns the type of a sequence as a VMD type. - - ... = variadic parameters. - - The first variadic parameter is required and is the sequence whose type we are getting. - - The optional variadic parameters are return type parameters. - - The macro returns the type of a sequence as a VMD type. The type of an empty sequence - is always BOOST_VMD_TYPE_EMPTY and the type of a multi-element is always - BOOST_VMD_TYPE_SEQUENCE. The type of a single-element sequence is the - type of that single element. - - The type returned can be modified by specifying an optional return type parameter. - - If BOOST_VMD_RETURN_TYPE, the default, is specified the specific type of the element - is returned. - - If BOOST_VMD_RETURN_TYPE_ARRAY is specified - an array type is returned if the element is an array, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_TUPLE is specified - a tuple type is returned for all tuple-like data, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_NO_TYPE is specified it is ignored since the macro - always returns the type of the sequence. - - If more than one return type optional parameter is specified the last - one specified determines the return type. - - returns = the type of the sequence as a VMD type. - -*/ - -#define BOOST_VMD_GET_TYPE(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_GET_TYPE_D(d,...) - - \brief Returns the type of a sequence as a VMD type. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = variadic parameters. - - The first variadic parameter is required and is the sequence whose type we are getting. - - The optional variadic parameters are return type parameters. - - The macro returns the type of a sequence as a VMD type. The type of an empty sequence - is always BOOST_VMD_TYPE_EMPTY and the type of a multi-element is always - BOOST_VMD_TYPE_SEQUENCE. The type of a single-element sequence is the - type of that single element. - - The type returned can be modified by specifying an optional return type parameter. - - If BOOST_VMD_RETURN_TYPE, the default, is specified the specific type of the element - is returned. - - If BOOST_VMD_RETURN_TYPE_ARRAY is specified - an array type is returned if the element is an array, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple - type is returned if the element is a tuple, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_TYPE_TUPLE is specified - a tuple type is returned for all tuple-like data, else the actual type - is returned for non-tuple data. - - If BOOST_VMD_RETURN_NO_TYPE is specified it is ignored since the macro - always returns the type of the sequence. - - If more than one return type optional parameter is specified the last - one specified determines the return type. - - returns = the type of the sequence as a VMD type. - -*/ - -#define BOOST_VMD_GET_TYPE_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TYPE_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_GET_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/identity.hpp b/contrib/restricted/boost/boost/vmd/identity.hpp deleted file mode 100644 index 870065cb02e..00000000000 --- a/contrib/restricted/boost/boost/vmd/identity.hpp +++ /dev/null @@ -1,76 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IDENTITY_HPP) -#define BOOST_VMD_IDENTITY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#if BOOST_VMD_MSVC -#include <boost/preprocessor/cat.hpp> -#endif -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IDENTITY(item) - - \brief Macro which expands to its argument when invoked with any number of parameters. - - item = any single argument - - When BOOST_VMD_IDENTITY(item) is subsequently invoked with any number of parameters it expands - to 'item'. Subsequently invoking the macro is done as 'BOOST_VMD_IDENTITY(item)(zero_or_more_arguments)'. - - The macro is equivalent to the Boost PP macro BOOST_PP_IDENTITY(item) with the difference - being that BOOST_PP_IDENTITY(item) is always invoked with no arguments, as in - 'BOOST_VMD_IDENTITY(item)()' whereas BOOST_VMD_IDENTITY can be invoked with any number of - arguments. - - The macro is meant to be used in BOOST_PP_IF and BOOST_PP_IIF statements when only one - of the clauses needs to be invoked with calling another macro and the other is meant to - return an 'item'. - - returns = the macro as 'BOOST_VMD_IDENTITY(item)', when invoked with any number of parameters - as in '(zero_or_more_arguments)', returns 'item'. The macro itself returns - 'item BOOST_VMD_EMPTY'. - -*/ - -#define BOOST_VMD_IDENTITY(item) item BOOST_VMD_EMPTY - -/** \def BOOST_VMD_IDENTITY_RESULT(result) - - \brief Macro which wraps any result which can return its value using BOOST_VMD_IDENTITY or 'item BOOST_VMD_EMPTY'. - - result = any single result returned when BOOST_VMD_IDENTITY is used or 'item BOOST_VMD_EMPTY'. - - The reason for this macro is to smooth over a problem when using VC++ with BOOST_VMD_IDENTITY. - If your BOOST_VMD_IDENTITY macro can be used where VC++ is the compiler then you need to - surround your macro code which could return a result with this macro in order that VC++ handles - BOOST_VMD_IDENTITY correctly. - - If you are not using VC++ you do not have to use this macro, but doing so does no harm. - -*/ - -#if BOOST_VMD_MSVC -#define BOOST_VMD_IDENTITY_RESULT(result) BOOST_PP_CAT(result,) -#else -#define BOOST_VMD_IDENTITY_RESULT(result) result -#endif - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IDENTITY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_array.hpp b/contrib/restricted/boost/boost/vmd/is_array.hpp deleted file mode 100644 index fc9cf4708e6..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_array.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_ARRAY_HPP) -#define BOOST_VMD_IS_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_array.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_ARRAY(sequence) - - \brief Determines if a sequence is a Boost PP array. - - The macro checks that the sequence is a Boost PP array. - It returns 1 if it is an array, else if returns 0. - - sequence = a possible Boost PP array. - - returns = 1 if it is an array, else returns 0. - - The macro will generate a preprocessing error if the input - is in the form of an array but its first tuple element, instead - of being a number, is a preprocessor token which VMD cannot parse, - as in the example '(&2,(0,1))' which is a valid tuple but an invalid - array. - -*/ - -#define BOOST_VMD_IS_ARRAY(sequence) \ - BOOST_VMD_DETAIL_IS_ARRAY(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_ARRAY_D(d,sequence) - - \brief Determines if a sequence is a Boost PP array. Re-entrant version. - - The macro checks that the sequence is a Boost PP array. - It returns 1 if it is an array, else if returns 0. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible Boost PP array. - - returns = 1 if it is an array, else returns 0. - - The macro will generate a preprocessing error if the input - is in the form of an array but its first tuple element, instead - of being a number, is a preprocessor token which VMD cannot parse, - as in the example '(&2,(0,1))' which is a valid tuple but an invalid - array. - -*/ - -#define BOOST_VMD_IS_ARRAY_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_ARRAY_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_empty.hpp b/contrib/restricted/boost/boost/vmd/is_empty.hpp deleted file mode 100644 index 951c98bf6d3..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_empty.hpp +++ /dev/null @@ -1,95 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_EMPTY_HPP) -#define BOOST_VMD_IS_EMPTY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/punctuation/is_begin_parens.hpp> -#include <boost/vmd/detail/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_EMPTY(...) - - \brief Tests whether its input is empty or not. - - The macro checks to see if the input is empty or not. - It returns 1 if the input is empty, else returns 0. - - The macro is a variadic macro taking any input. - For the VC++8 compiler (VS2005) the macro takes a single parameter of input to check. - - The macro is not perfect, and can not be so. The problem - area is if the input to be checked is a function-like - macro name, in which case either a compiler error can result - or a false result can occur. - - This macro is a replacement, using variadic macro support, - for the undocumented macro BOOST_PP_IS_EMPTY in the Boost - PP library. The code is taken from a posting by Paul Mensonides - of a variadic version for BOOST_PP_IS_EMPTY, and changed - in order to also support VC++. - - .... = variadic input, for VC++8 this must be a single parameter - - returns = 1 if the input is empty, 0 if it is not - - It is recommended to append BOOST_PP_EMPTY() to whatever input - is being tested in order to avoid possible warning messages - from some compilers about no parameters being passed to the macro - when the input is truly empty. - -*/ - -#if BOOST_VMD_MSVC_V8 - -#define BOOST_VMD_IS_EMPTY(sequence) \ - BOOST_VMD_DETAIL_IS_EMPTY_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - sequence \ - ) \ - ) \ - ( \ - BOOST_VMD_DETAIL_IS_EMPTY_GEN_ZERO, \ - BOOST_VMD_DETAIL_IS_EMPTY_PROCESS \ - ) \ - (sequence) \ -/**/ - -#else - -#define BOOST_VMD_IS_EMPTY(...) \ - BOOST_VMD_DETAIL_IS_EMPTY_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - __VA_ARGS__ \ - ) \ - ) \ - ( \ - BOOST_VMD_DETAIL_IS_EMPTY_GEN_ZERO, \ - BOOST_VMD_DETAIL_IS_EMPTY_PROCESS \ - ) \ - (__VA_ARGS__) \ -/**/ - -#endif /* BOOST_VMD_MSVC_V8 */ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_empty_array.hpp b/contrib/restricted/boost/boost/vmd/is_empty_array.hpp deleted file mode 100644 index 913af70db9a..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_empty_array.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_EMPTY_ARRAY_HPP) -#define BOOST_VMD_IS_EMPTY_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/is_array.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/detail/is_empty_array.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_EMPTY_ARRAY(sequence) - - \brief Tests whether a sequence is an empty Boost PP array. - - An empty Boost PP array is a two element tuple where the first - size element is 0 and the second element is a tuple with a single - empty element, ie. '(0,())'. - - sequence = a possible empty array - - returns = 1 if the sequence is an empty Boost PP array - 0 if it is not. - - The macro will generate a preprocessing error if the sequence - is in the form of an array but its first tuple element, instead - of being a number, is a preprocessor token which VMD cannot parse, - as in the example '(&0,())' which is a valid tuple but an invalid - array. - -*/ - -#define BOOST_VMD_IS_EMPTY_ARRAY(sequence) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_ARRAY(sequence), \ - BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_SIZE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (sequence) \ - ) \ -/**/ - -/** \def BOOST_VMD_IS_EMPTY_ARRAY_D(d,sequence) - - \brief Tests whether a sequence is an empty Boost PP array. Re-entrant version. - - An empty Boost PP array is a two element tuple where the first - size element is 0 and the second element is a tuple with a single - empty element, ie. '(0,())'. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible empty array - - returns = 1 if the sequence is an empty Boost PP array - 0 if it is not. - - The macro will generate a preprocessing error if the sequence - is in the form of an array but its first tuple element, instead - of being a number, is a preprocessor token which VMD cannot parse, - as in the example '(&0,())' which is a valid tuple but an invalid - array. - -*/ - -#define BOOST_VMD_IS_EMPTY_ARRAY_D(d,sequence) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_ARRAY_D(d,sequence), \ - BOOST_VMD_DETAIL_IS_EMPTY_ARRAY_SIZE, \ - BOOST_VMD_IDENTITY(0) \ - ) \ - (sequence) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_EMPTY_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_empty_list.hpp b/contrib/restricted/boost/boost/vmd/is_empty_list.hpp deleted file mode 100644 index cad73a591ef..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_empty_list.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_EMPTY_LIST_HPP) -#define BOOST_VMD_IS_EMPTY_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_list.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_EMPTY_LIST(sequence) - - \brief Tests whether a sequence is an empty Boost PP list. - - An empty Boost PP list consists of the single identifier 'BOOST_PP_NIL'. - This identifier also serves as a list terminator for a non-empty list. - - sequence = a preprocessor parameter - - returns = 1 if the sequence is an empty Boost PP list - 0 if it is not. - - The macro will generate a preprocessing error if the input - as an empty list marker, instead of being an identifier, is - a preprocessor token which VMD cannot parse, as in the - example '&BOOST_PP_NIL'. - -*/ - -#define BOOST_VMD_IS_EMPTY_LIST(sequence) \ - BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_EMPTY_LIST_D(d,sequence) - - \brief Tests whether a sequence is an empty Boost PP list. Re-entrant version. - - An empty Boost PP list consists of the single identifier 'BOOST_PP_NIL'. - This identifier also serves as a list terminator for a non-empty list. - - d = The next available BOOST_PP_WHILE iteration - sequence = a preprocessor parameter - - returns = 1 if the sequence is an empty Boost PP list - 0 if it is not. - - The macro will generate a preprocessing error if the input - as an empty list marker, instead of being an identifier, is - a preprocessor token which VMD cannot parse, as in the - example '&BOOST_PP_NIL'. - -*/ - -#define BOOST_VMD_IS_EMPTY_LIST_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_LIST_IS_EMPTY_LIST_PROCESS_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_EMPTY_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_identifier.hpp b/contrib/restricted/boost/boost/vmd/is_identifier.hpp deleted file mode 100644 index b41b1b4eed4..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_identifier.hpp +++ /dev/null @@ -1,117 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_IDENTIFIER_HPP) -#define BOOST_VMD_IS_IDENTIFIER_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_identifier.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_IDENTIFIER(...) - - \brief Tests whether a parameter is an identifier. - - ... = variadic parameters - - The first variadic parameter is required and it is the input to test. - - Further variadic parameters are optional and are identifiers to match. - The data may take one of two forms; it is either one or more single identifiers - or a single Boost PP tuple of identifiers. - - returns = 1 if the parameter is an identifier, otherwise 0. - - If the parameter is not an identifier, - or if optional identifiers are specified and the identifier - does not match any of the optional identifiers, the macro returns 0. - - Identifiers are registered in VMD with: - - #define BOOST_VMD_REG_XXX (XXX) where XXX is a v-identifier. - - The identifier must be registered to be found. - - Identifiers are pre-detected in VMD with: - - #define BOOST_VMD_DETECT_XXX_XXX where XXX is an identifier. - - If you specify optional identifiers and have not specified the detection - of an optional identifier, that optional identifier will never match the input. - - If the input is not a VMD data type this macro could lead to - a preprocessor error. This is because the macro - uses preprocessor concatenation to determine if the input - is an identifier once it is determined that the input does not - start with parenthesis. If the data being concatenated would - lead to an invalid preprocessor token the compiler can issue - a preprocessor error. - -*/ - -#define BOOST_VMD_IS_IDENTIFIER(...) \ - BOOST_VMD_DETAIL_IS_IDENTIFIER(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_IS_IDENTIFIER_D(d,...) - - \brief Tests whether a parameter is an identifier. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = variadic parameters - - The first variadic parameter is required and it is the input to test. - - Further variadic parameters are optional and are identifiers to match. - The data may take one of two forms; it is either one or more single identifiers - or a single Boost PP tuple of identifiers. - - returns = 1 if the parameter is an identifier, otherwise 0. - - If the parameter is not an identifier, - or if optional identifiers are specified and the identifier - does not match any of the optional identifiers, the macro returns 0. - - Identifiers are registered in VMD with: - - #define BOOST_VMD_REG_XXX (XXX) where XXX is a v-identifier. - - The identifier must be registered to be found. - - Identifiers are pre-detected in VMD with: - - #define BOOST_VMD_DETECT_XXX_XXX where XXX is an identifier. - - If you specify optional identifiers and have not specified the detection - of an optional identifier, that optional identifier will never match the input. - - If the input is not a VMD data type this macro could lead to - a preprocessor error. This is because the macro - uses preprocessor concatenation to determine if the input - is an identifier once it is determined that the input does not - start with parenthesis. If the data being concatenated would - lead to an invalid preprocessor token the compiler can issue - a preprocessor error. - -*/ - -#define BOOST_VMD_IS_IDENTIFIER_D(d,...) \ - BOOST_VMD_DETAIL_IS_IDENTIFIER_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_IDENTIFIER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_list.hpp b/contrib/restricted/boost/boost/vmd/is_list.hpp deleted file mode 100644 index 986872b4fcb..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_list.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_LIST_HPP) -#define BOOST_VMD_IS_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_list.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_LIST(sequence) - - \brief Determines if a sequence is a Boost pplib list. - - The macro checks that the sequence is a pplib list. - It returns 1 if it is a list, else if returns 0. - - sequence = input as a possible Boost PP list. - - returns = 1 if it a list, else returns 0. - - The macro will generate a preprocessing error if the input - is in the form of a list but its end-of-list marker, instead - of being an identifier, is a preprocessor token which VMD cannot parse, - as in the example '(anything,&BOOST_PP_NIL)' which is a valid tuple but - an invalid list. - -*/ - -#define BOOST_VMD_IS_LIST(sequence) \ - BOOST_VMD_DETAIL_IS_LIST(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_LIST_D(d,sequence) - - \brief Determines if a sequence is a Boost pplib list. Re-entrant version. - - The macro checks that the sequence is a pplib list. - It returns 1 if it is a list, else if returns 0. - - d = The next available BOOST_PP_WHILE iteration. - sequence = input as a possible Boost PP list. - - returns = 1 if it a list, else returns 0. - - The macro will generate a preprocessing error if the input - is in the form of a list but its end-of-list marker, instead - of being an identifier, is a preprocessor token which VMD cannot parse, - as in the example '(anything,&BOOST_PP_NIL)' which is a valid tuple but - an invalid list. - -*/ - -#define BOOST_VMD_IS_LIST_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_LIST_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_multi.hpp b/contrib/restricted/boost/boost/vmd/is_multi.hpp deleted file mode 100644 index d080837167a..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_multi.hpp +++ /dev/null @@ -1,67 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_MULTI_HPP) -#define BOOST_VMD_IS_MULTI_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_arity.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_MULTI(sequence) - - \brief Determines if the sequence has more than one element, referred to as a multi-element sequence. - - sequence = a sequence - - returns = 1 if the sequence is a multi-element sequence, else returns 0. - - If the size of a sequence is known it is faster comparing that size to be greater - than one to find out if the sequence is multi-element. But if the size of the - sequence is not known it is faster calling this macro than getting the size and - doing the previously mentioned comparison in order to determine if the sequence - is multi-element or not. - -*/ - -#define BOOST_VMD_IS_MULTI(sequence) \ - BOOST_VMD_DETAIL_IS_MULTI(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_MULTI_D(d,sequence) - - \brief Determines if the sequence has more than one element, referred to as a multi-element sequence. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a sequence - - returns = 1 if the sequence is a multi-element sequence, else returns 0. - - If the size of a sequence is known it is faster comparing that size to be greater - than one to find out if the sequence is multi-element. But if the size of the - sequence is not known it is faster calling this macro than getting the size and - doing the previously mentioned comparison in order to determine if the sequence - is multi-element or not. - -*/ - -#define BOOST_VMD_IS_MULTI_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_MULTI_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_MULTI_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_number.hpp b/contrib/restricted/boost/boost/vmd/is_number.hpp deleted file mode 100644 index 7bc66fa4f6e..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_number.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_NUMBER_HPP) -#define BOOST_VMD_IS_NUMBER_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_number.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_NUMBER(sequence) - - \brief Tests whether a sequence is a Boost PP number. - - The macro checks to see if a sequence is a Boost PP number. - A Boost PP number is a value from 0 to 256. - - sequence = a possible number - - returns = 1 if the sequence is a Boost PP number, - 0 if it is not. - - If the input is not a VMD data type this macro could lead to - a preprocessor error. This is because the macro - uses preprocessor concatenation to determine if the input - is a number once it is determined that the input does not - start with parenthesis. If the data being concatenated would - lead to an invalid preprocessor token the compiler can issue - a preprocessor error. - -*/ - -#define BOOST_VMD_IS_NUMBER(sequence) \ - BOOST_VMD_DETAIL_IS_NUMBER(sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_NUMBER_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_parens_empty.hpp b/contrib/restricted/boost/boost/vmd/is_parens_empty.hpp deleted file mode 100644 index dad7bafecb9..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_parens_empty.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_PARENS_EMPTY_HPP) -#define BOOST_VMD_IS_PARENS_EMPTY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_empty_tuple.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_PARENS_EMPTY(sequence) - - \brief Determines if the sequence is a set of parens with no data. - - sequence = a VMD sequence - - returns = 1 if the sequence is a set of parens with no data, - else returns 0. - - A set of parens with no data may be: - - 1) a tuple whose size is a single element which is empty - - or - - 2) a single element seq whose data is empty - -*/ - -#define BOOST_VMD_IS_PARENS_EMPTY(sequence) \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_PARENS_EMPTY_D(d,sequence) - - \brief Determines if the sequence is a set of parens with no data. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a VMD sequence - - returns = 1 if the sequence is a set of parens with no data, - else returns 0. - - A set of parens with no data may be: - - 1) a tuple whose size is a single element which is empty - - or - - 2) a single element seq whose data is empty - -*/ - -#define BOOST_VMD_IS_PARENS_EMPTY_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_PARENS_EMPTY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_seq.hpp b/contrib/restricted/boost/boost/vmd/is_seq.hpp deleted file mode 100644 index 3bf4f203c5f..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_seq.hpp +++ /dev/null @@ -1,71 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_SEQ_HPP) -#define BOOST_VMD_IS_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_seq.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_SEQ(sequence) - - \brief Determines if a sequence is a Boost PP seq. - - The macro checks that the sequence is a Boost PP seq. - It returns 1 if it is a seq, else if returns 0. - - sequence = a possible Boost PP seq - - returns = 1 if it a seq, else returns 0. - - A single set of parentheses, with a single element, - is parsed as a tuple and not a seq. To be parsed as - a seq the input needs to be more than one consecutive - sets of parentheses, each with a single element of data. - -*/ - -#define BOOST_VMD_IS_SEQ(sequence) \ - BOOST_VMD_DETAIL_IS_SEQ(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_SEQ_D(d,sequence) - - \brief Determines if a sequence is a Boost PP seq. Re-entrant version. - - The macro checks that the sequence is a Boost PP seq. - It returns 1 if it is a seq, else if returns 0. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible Boost PP seq - - returns = 1 if it a seq, else returns 0. - - A single set of parentheses, with a single element, - is parsed as a tuple and not a seq. To be parsed as - a seq the input needs to be more than one consecutive - sets of parentheses, each with a single element of data. - -*/ - -#define BOOST_VMD_IS_SEQ_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_SEQ_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_tuple.hpp b/contrib/restricted/boost/boost/vmd/is_tuple.hpp deleted file mode 100644 index 2f7d0436dbd..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_tuple.hpp +++ /dev/null @@ -1,45 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_TUPLE_HPP) -#define BOOST_VMD_IS_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_tuple.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_TUPLE(sequence) - - \brief Tests whether a sequence is a Boost PP tuple. - - The macro checks to see if a sequence is a Boost PP tuple. - A Boost PP tuple is preprocessor tokens enclosed by a set of parentheses - with no preprocessing tokens before or after the parentheses. - - sequence = a possible tuple - - returns = 1 if the sequence is a Boost PP tuple. - 0 if it is not. - -*/ - -#define BOOST_VMD_IS_TUPLE(sequence) \ - BOOST_VMD_DETAIL_IS_TUPLE(sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_type.hpp b/contrib/restricted/boost/boost/vmd/is_type.hpp deleted file mode 100644 index 8ddfdcd033c..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_type.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_TYPE_HPP) -#define BOOST_VMD_IS_TYPE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/is_type.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_TYPE(sequence) - - \brief Tests whether a sequence is a VMD type. - - sequence = a possible VMD type - - returns = 1 if the sequence is a VMD type, - 0 if it is not. - - If the sequence is not a VMD data type this macro could lead to - a preprocessor error. This is because the macro - uses preprocessor concatenation to determine if the sequence - is an identifier once it is determined that the sequence does not - start with parentheses. If the data being concatenated would - lead to an invalid preprocessor token the compiler can issue - a preprocessor error. - -*/ - -#define BOOST_VMD_IS_TYPE(sequence) \ - BOOST_VMD_DETAIL_IS_TYPE(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_TYPE_D(d,sequence) - - \brief Tests whether a sequence is a VMD type. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a possible VMD type - - returns = 1 if the sequence is a VMD type, - 0 if it is not. - - If the sequence is not a VMD data type this macro could lead to - a preprocessor error. This is because the macro - uses preprocessor concatenation to determine if the sequence - is an identifier once it is determined that the sequence does not - start with parentheses. If the data being concatenated would - lead to an invalid preprocessor token the compiler can issue - a preprocessor error. - -*/ - -#define BOOST_VMD_IS_TYPE_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_TYPE_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_TYPE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/is_unary.hpp b/contrib/restricted/boost/boost/vmd/is_unary.hpp deleted file mode 100644 index 1f44c19bfd3..00000000000 --- a/contrib/restricted/boost/boost/vmd/is_unary.hpp +++ /dev/null @@ -1,67 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_UNARY_HPP) -#define BOOST_VMD_IS_UNARY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_arity.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_UNARY(sequence) - - \brief Determines if the sequence has only a single element, referred to as a single-element sequence. - - sequence = a VMD sequence - - returns = 1 if the sequence is a single-element sequence, else returns 0. - - If the size of a sequence is known it is faster comparing that size to be equal - to one to find out if the sequence is single-element. But if the size of the - sequence is not known it is faster calling this macro than getting the size and - doing the previously mentioned comparison in order to determine if the sequence - is single-element or not. - -*/ - -#define BOOST_VMD_IS_UNARY(sequence) \ - BOOST_VMD_DETAIL_IS_UNARY(sequence) \ -/**/ - -/** \def BOOST_VMD_IS_UNARY_D(d,sequence) - - \brief Determines if the sequence has only a single element, referred to as a single-element sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = a sequence - - returns = 1 if the sequence is a single-element sequence, else returns 0. - - If the size of a sequence is known it is faster comparing that size to be equal - to one to find out if the sequence is single-element. But if the size of the - sequence is not known it is faster calling this macro than getting the size and - doing the previously mentioned comparison in order to determine if the sequence - is single-element or not. - -*/ - -#define BOOST_VMD_IS_UNARY_D(d,sequence) \ - BOOST_VMD_DETAIL_IS_UNARY_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_UNARY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/list.hpp b/contrib/restricted/boost/boost/vmd/list.hpp deleted file mode 100644 index 9a80a60ff43..00000000000 --- a/contrib/restricted/boost/boost/vmd/list.hpp +++ /dev/null @@ -1,18 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_LIST_HPP) -#define BOOST_VMD_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/list/to_seq.hpp> -#include <boost/vmd/list/to_tuple.hpp> - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/list/to_seq.hpp b/contrib/restricted/boost/boost/vmd/list/to_seq.hpp deleted file mode 100644 index a53e8407c52..00000000000 --- a/contrib/restricted/boost/boost/vmd/list/to_seq.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_LIST_TO_SEQ_HPP) -#define BOOST_VMD_LIST_TO_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/list/to_seq.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty_list.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_LIST_TO_SEQ(list) - - \brief converts a list to a seq. - - list = list to be converted. - - If the list is an empty list (BOOST_PP_NIL) it is converted to an empty seq. - Otherwise the list is converted to a seq with the same number of elements as the list. -*/ - -#define BOOST_VMD_LIST_TO_SEQ(list) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY_LIST(list), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_LIST_TO_SEQ \ - ) \ - (list) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_LIST_TO_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/list/to_tuple.hpp b/contrib/restricted/boost/boost/vmd/list/to_tuple.hpp deleted file mode 100644 index ddcd2069c12..00000000000 --- a/contrib/restricted/boost/boost/vmd/list/to_tuple.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_LIST_TO_TUPLE_HPP) -#define BOOST_VMD_LIST_TO_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/list/to_tuple.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty_list.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_LIST_TO_TUPLE(list) - - \brief converts a list to a tuple. - - list = list to be converted. - - If the list is an empty list (BOOST_PP_NIL) it is converted to an empty tuple. - Otherwise the list is converted to a tuple with the same number of elements as the list. -*/ - -#define BOOST_VMD_LIST_TO_TUPLE(list) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY_LIST(list), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_LIST_TO_TUPLE \ - ) \ - (list) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_LIST_TO_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/not_equal.hpp b/contrib/restricted/boost/boost/vmd/not_equal.hpp deleted file mode 100644 index 2480cdc00ab..00000000000 --- a/contrib/restricted/boost/boost/vmd/not_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_NOT_EQUAL_HPP) -#define BOOST_VMD_NOT_EQUAL_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/logical/compl.hpp> -#include <boost/vmd/equal.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_NOT_EQUAL(sequence,...) - - \brief Tests any two sequences for inequality. - - sequence = First sequence. - ... = variadic parameters, maximum of 2. - - The first variadic parameter is required and is the second sequence to test. - The optional second variadic parameter is a VMD type as a filter. - - The macro tests any two sequences for inequality. For sequences to be unequal - either the VMD types of each sequence must be unequal or the individual elements of the - sequence must be unequal. - - The single optional parameter is a filter. The filter is a VMD type which specifies - that both sequences to test must be of that VMD type, as well as being equal to - each other, for the test to fail, else it succeeds. - - returns = 1 upon success or 0 upon failure. Success means that the sequences are - unequal or, if the optional parameter is specified, that the sequences are - not of the optional VMD type; otherwise 0 is returned if the sequences - are equal. - - The macro is implemented as the complement of BOOST_VMD_EQUAL, so that whenever - BOOST_VMD_EQUAL would return 1 the macro returns 0 and whenever BOOST_VMD_EQUAL - would return 0 the macro would return 1. - -*/ - -#define BOOST_VMD_NOT_EQUAL(sequence,...) \ - BOOST_PP_COMPL(BOOST_VMD_EQUAL(sequence,__VA_ARGS__)) \ -/**/ - -/** \def BOOST_VMD_NOT_EQUAL_D(d,sequence,...) - - \brief Tests any two sequences for inequality. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = First sequence. - ... = variadic parameters, maximum of 2. - - The first variadic parameter is required and is the second sequence to test. - The optional second variadic parameter is a VMD type as a filter. - - The macro tests any two sequences for inequality. For sequences to be unequal - either the VMD types of each sequence must be unequal or the individual elements of the - sequence must be unequal. - - The single optional parameter is a filter. The filter is a VMD type which specifies - that both sequences to test must be of that VMD type, as well as being equal to - each other, for the test to fail, else it succeeds. - - returns = 1 upon success or 0 upon failure. Success means that the sequences are - unequal or, if the optional parameter is specified, that the sequences are - not of the optional VMD type; otherwise 0 is returned if the sequences - are equal. - - The macro is implemented as the complement of BOOST_VMD_EQUAL, so that whenever - BOOST_VMD_EQUAL would return 1 the macro returns 0 and whenever BOOST_VMD_EQUAL - would return 0 the macro would return 1. - -*/ - -#define BOOST_VMD_NOT_EQUAL_D(d,sequence,...) \ - BOOST_PP_COMPL(BOOST_VMD_EQUAL_D(d,sequence,__VA_ARGS__)) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_NOT_EQUAL_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq.hpp b/contrib/restricted/boost/boost/vmd/seq.hpp deleted file mode 100644 index 5a09759894e..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_HPP) -#define BOOST_VMD_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/seq/is_vmd_seq.hpp> -#include <boost/vmd/seq/pop_back.hpp> -#include <boost/vmd/seq/pop_front.hpp> -#include <boost/vmd/seq/push_back.hpp> -#include <boost/vmd/seq/push_front.hpp> -#include <boost/vmd/seq/remove.hpp> -#include <boost/vmd/seq/size.hpp> -#include <boost/vmd/seq/to_array.hpp> -#include <boost/vmd/seq/to_list.hpp> -#include <boost/vmd/seq/to_tuple.hpp> - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/is_vmd_seq.hpp b/contrib/restricted/boost/boost/vmd/seq/is_vmd_seq.hpp deleted file mode 100644 index 38648d2fd06..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/is_vmd_seq.hpp +++ /dev/null @@ -1,56 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_VMD_SEQ_HPP) -#define BOOST_VMD_IS_VMD_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_seq.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_VMD_SEQ(sequence) - - \brief Determines if a sequence is a VMD seq. - - The macro checks that the sequence is a VMD seq. - A VMD seq, which may be a Boost PP seq or emptiness, is a superset of a Boost PP seq. - It returns 1 if it is a VMD seq, else if returns 0. - - sequence = a possible Boost PP seq - - returns = 1 if it a VMD seq, else returns 0. - -*/ - -#define BOOST_VMD_IS_VMD_SEQ(sequence) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(sequence), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_IS_SEQ \ - ) \ - (sequence) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_VMD_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/pop_back.hpp b/contrib/restricted/boost/boost/vmd/seq/pop_back.hpp deleted file mode 100644 index 5e3865a5529..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/pop_back.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_POP_BACK_HPP) -#define BOOST_VMD_SEQ_POP_BACK_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/pop_back.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_POP_BACK(seq) - - \brief pops an element from the end of a seq. - - seq = seq to pop an element from. - - If the seq is an empty seq the result is undefined. - If the seq is a single element the result is an empty seq. - Otherwise the result is a seq after removing the last element. -*/ - -#define BOOST_VMD_SEQ_POP_BACK(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(seq),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_SEQ_POP_BACK \ - ) \ - (seq) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_POP_BACK_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/pop_front.hpp b/contrib/restricted/boost/boost/vmd/seq/pop_front.hpp deleted file mode 100644 index 782c75e956b..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/pop_front.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_POP_FRONT_HPP) -#define BOOST_VMD_SEQ_POP_FRONT_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/pop_front.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_POP_FRONT(seq) - - \brief pops an element from the front of a seq. - - seq = seq to pop an element from. - - If the seq is an empty seq the result is undefined. - If the seq is a single element the result is an empty seq. - Otherwise the result is a seq after removing the first element. -*/ - -#define BOOST_VMD_SEQ_POP_FRONT(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(seq),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_SEQ_POP_FRONT \ - ) \ - (seq) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_POP_FRONT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/push_back.hpp b/contrib/restricted/boost/boost/vmd/seq/push_back.hpp deleted file mode 100644 index 862fc791fa0..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/push_back.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_PUSH_BACK_HPP) -#define BOOST_VMD_SEQ_PUSH_BACK_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/push_back.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_PUSH_BACK(seq,elem) - - \brief appends an element to the end of a seq. - - seq = seq to to append an element to. - elem = element to append. - - If the seq is an empty seq the result is a seq with the single element. - Otherwise the result is a seq after adding the element to the end. -*/ - -#define BOOST_VMD_SEQ_PUSH_BACK(seq,elem) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_IDENTITY((elem)), \ - BOOST_PP_SEQ_PUSH_BACK \ - ) \ - (seq,elem) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_PUSH_BACK_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/push_front.hpp b/contrib/restricted/boost/boost/vmd/seq/push_front.hpp deleted file mode 100644 index 33b26835260..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/push_front.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_PUSH_FRONT_HPP) -#define BOOST_VMD_SEQ_PUSH_FRONT_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/push_front.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_PUSH_FRONT(seq,elem) - - \brief inserts an element at the beginning of a seq. - - seq = seq to insert an element at. - elem = element to insert. - - If the seq is an empty seq the result is a seq with the single element. - Otherwise the result is a seq after inserting the element at the beginning. -*/ - -#define BOOST_VMD_SEQ_PUSH_FRONT(seq,elem) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_IDENTITY((elem)), \ - BOOST_PP_SEQ_PUSH_FRONT \ - ) \ - (seq,elem) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_PUSH_FRONT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/remove.hpp b/contrib/restricted/boost/boost/vmd/seq/remove.hpp deleted file mode 100644 index 11a7a7ec4c6..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/remove.hpp +++ /dev/null @@ -1,57 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_REMOVE_HPP) -#define BOOST_VMD_SEQ_REMOVE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/seq/remove.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_REMOVE(seq,index) - - \brief removes an element from a seq. - - seq = seq from which an element is to be removed. - index = The zero-based position in seq of the element to be removed. - - If index is greater or equal to the seq size the result is undefined. - If the seq is a single element and the index is 0 the result is an empty seq. - Otherwise the result is a seq after removing the index element. -*/ - -#define BOOST_VMD_SEQ_REMOVE(seq,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL(index,0), \ - BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(seq),1) \ - ), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_SEQ_REMOVE \ - ) \ - (seq,index) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_REMOVE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/size.hpp b/contrib/restricted/boost/boost/vmd/seq/size.hpp deleted file mode 100644 index 0deef78db97..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/size.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_SIZE_HPP) -#define BOOST_VMD_SEQ_SIZE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_SIZE(seq) - - \brief expands to the size of the seq passed to it. - - seq = seq whose size is to be extracted. - - If the seq is an empty seq its size is 0. - Otherwise the result is the number of elements in the seq. -*/ - -#define BOOST_VMD_SEQ_SIZE(seq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_PP_SEQ_SIZE \ - ) \ - (seq) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_SIZE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/to_array.hpp b/contrib/restricted/boost/boost/vmd/seq/to_array.hpp deleted file mode 100644 index 37b42f79e74..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/to_array.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_TO_ARRAY_HPP) -#define BOOST_VMD_SEQ_TO_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/to_array.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_TO_ARRAY(seq) - - \brief converts a seq to an array. - - seq = seq to be converted. - - If the seq is an empty seq it is converted to an array with 0 elements. - Otherwise the seq is converted to an array with the same number of elements as the seq. -*/ - -#define BOOST_VMD_SEQ_TO_ARRAY(seq) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_IDENTITY((0,())), \ - BOOST_PP_SEQ_TO_ARRAY \ - ) \ - (seq) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_TO_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/to_list.hpp b/contrib/restricted/boost/boost/vmd/seq/to_list.hpp deleted file mode 100644 index 129f7b857f4..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/to_list.hpp +++ /dev/null @@ -1,65 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_TO_LIST_HPP) -#define BOOST_VMD_SEQ_TO_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/to_list.hpp> -// #include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_TO_LIST(seq) - - \brief converts a seq to a list. - - seq = seq to be converted. - - If the seq is an empty seq it is converted to an empty list (BOOST_PP_NIL). - Otherwise the seq is converted to a list with the same number of elements as the seq. -*/ - -#if BOOST_VMD_MSVC -#define BOOST_VMD_SEQ_TO_LIST(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_SEQ_TO_LIST_PE, \ - BOOST_VMD_SEQ_TO_LIST_NPE \ - ) \ - (seq) \ -/**/ -#define BOOST_VMD_SEQ_TO_LIST_PE(seq) BOOST_PP_NIL -/**/ -#define BOOST_VMD_SEQ_TO_LIST_NPE(seq) BOOST_PP_SEQ_TO_LIST(seq) -/**/ -#else -#define BOOST_VMD_SEQ_TO_LIST(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_IDENTITY(BOOST_PP_NIL), \ - BOOST_PP_SEQ_TO_LIST \ - ) \ - (seq) \ -/**/ -#endif - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_TO_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/seq/to_tuple.hpp b/contrib/restricted/boost/boost/vmd/seq/to_tuple.hpp deleted file mode 100644 index b41c5aca50c..00000000000 --- a/contrib/restricted/boost/boost/vmd/seq/to_tuple.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SEQ_TO_TUPLE_HPP) -#define BOOST_VMD_SEQ_TO_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/seq/to_tuple.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SEQ_TO_TUPLE(seq) - - \brief converts a seq to a tuple. - - seq = seq to be converted. - - If the seq is an empty seq it is converted to an empty tuple. - Otherwise the seq is converted to a tuple with the same number of elements as the seq. -*/ - -#define BOOST_VMD_SEQ_TO_TUPLE(seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(seq), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_SEQ_TO_TUPLE \ - ) \ - (seq) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SEQ_TO_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/size.hpp b/contrib/restricted/boost/boost/vmd/size.hpp deleted file mode 100644 index d2ff4d4b83a..00000000000 --- a/contrib/restricted/boost/boost/vmd/size.hpp +++ /dev/null @@ -1,57 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_SIZE_HPP) -#define BOOST_VMD_SIZE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_size.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_SIZE(sequence) - - \brief Returns the size of a sequence. - - sequence = A sequence to test. - - returns = If the sequence is empty returns 0, else returns the number of elements - in the sequence. - -*/ - -#define BOOST_VMD_SIZE(sequence) \ - BOOST_VMD_DETAIL_SEQUENCE_SIZE(sequence) \ -/**/ - -/** \def BOOST_VMD_SIZE_D(d,sequence) - - \brief Returns the size of a sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - sequence = A sequence to test. - - returns = If the sequence is empty returns 0, else returns the number of elements - in the sequence. - -*/ - -#define BOOST_VMD_SIZE_D(d,sequence) \ - BOOST_VMD_DETAIL_SEQUENCE_SIZE_D(d,sequence) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_SIZE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/to_array.hpp b/contrib/restricted/boost/boost/vmd/to_array.hpp deleted file mode 100644 index afecf9cb88d..00000000000 --- a/contrib/restricted/boost/boost/vmd/to_array.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TO_ARRAY_HPP) -#define BOOST_VMD_TO_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_to_array.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TO_ARRAY(...) - - \brief Converts a sequence to a Boost PP array whose elements are the elements of the sequence. - - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP array. The sequence is empty the Boost PP array is an empty array. - If an optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as the array element. Otherwise just the data - is returned as the array element, which is the default. - -*/ - -#define BOOST_VMD_TO_ARRAY(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_TO_ARRAY_D(d,...) - - \brief Converts a sequence to a Boost PP array whose elements are the elements of the sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP array. The sequence is empty the Boost PP array is empty. - If an optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as the array element. Otherwise just the data - is returned as the array element, which is the default. - -*/ - -#define BOOST_VMD_TO_ARRAY_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TO_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/to_list.hpp b/contrib/restricted/boost/boost/vmd/to_list.hpp deleted file mode 100644 index eeae19235ba..00000000000 --- a/contrib/restricted/boost/boost/vmd/to_list.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TO_LIST_HPP) -#define BOOST_VMD_TO_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_to_list.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TO_LIST(...) - - \brief Converts a sequence to a Boost PP list whose elements are the elements of the sequence. - - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP list. The sequence is empty the Boost PP list is an empty list. - If an optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as the list element. Otherwise just the data - is returned as the list element, which is the default. - -*/ - -#define BOOST_VMD_TO_LIST(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_LIST(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_TO_LIST_D(d,...) - - \brief Converts a sequence to a Boost PP list whose elements are the elements of the sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP list. The sequence is empty the Boost PP list is an empty list. - If an optional return type other than BOOST_VMD_RETURN_NO_TYPE - is specified the type and the data of each element is - returned as the list element. Otherwise just the data - is returned as the list element, which is the default. - -*/ - -#define BOOST_VMD_TO_LIST_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_LIST_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TO_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/to_seq.hpp b/contrib/restricted/boost/boost/vmd/to_seq.hpp deleted file mode 100644 index ca11fee1950..00000000000 --- a/contrib/restricted/boost/boost/vmd/to_seq.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TO_SEQ_HPP) -#define BOOST_VMD_TO_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_to_seq.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TO_SEQ(...) - - \brief Converts a sequence to a Boost PP seq whose elements are the elements of the sequence. - - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP seq. If the sequence is empty the return is emptiness - since an empty seq does not exist. If an optional return type other - than BOOST_VMD_RETURN_NO_TYPE is specified the type and the data of - each element is returned as the seq element. Otherwise just the data - is returned as the seq element, which is the default. - -*/ - -#define BOOST_VMD_TO_SEQ(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_TO_SEQ_D(d,...) - - \brief Converts a sequence to a Boost PP seq whose elements are the elements of the sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP seq. If the sequence is empty the return is emptiness - since an empty seq does not exist. If an optional return type other - than BOOST_VMD_RETURN_NO_TYPE is specified the type and the data of - each element is returned as the seq element. Otherwise just the data - is returned as the seq element, which is the default. - -*/ - -#define BOOST_VMD_TO_SEQ_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_SEQ_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TO_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/to_tuple.hpp b/contrib/restricted/boost/boost/vmd/to_tuple.hpp deleted file mode 100644 index a15858988c9..00000000000 --- a/contrib/restricted/boost/boost/vmd/to_tuple.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TO_TUPLE_HPP) -#define BOOST_VMD_TO_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/detail/sequence_to_tuple.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TO_TUPLE(...) - - \brief Converts a sequence to a Boost PP tuple whose elements are the elements of the sequence. - - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP tuple. If the sequence is empty the return is emptiness - since an empty tuple does not exist. If an optional return type other - than BOOST_VMD_RETURN_NO_TYPE is specified the type and the data of - each element is returned as the tuple element. Otherwise just the data - is returned as the tuple element, which is the default. - -*/ - -#define BOOST_VMD_TO_TUPLE(...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE(__VA_ARGS__) \ -/**/ - -/** \def BOOST_VMD_TO_TUPLE_D(d,...) - - \brief Converts a sequence to a Boost PP tuple whose elements are the elements of the sequence. Re-entrant version. - - d = The next available BOOST_PP_WHILE iteration. - ... = Variadic parameters. - - The first variadic parameter is required and is the sequence to convert. - - Further optional variadic parameters can be return type parameters. Return type - parameters allow each element in the sequence to be converted to a two-element - tuple where the first tuple element is the type and the second tuple element - is the element data. - - The BOOST_VMD_RETURN_NO_TYPE, the default, does not return the type as part of each - converted element but just the data. All of the rest return the type and data as the - two-element tuple. If BOOST_VMD_RETURN_TYPE is specified the specific type of the element - is returned in the tuple. If BOOST_VMD_RETURN_TYPE_ARRAY is specified an array type is - returned if the element is an array, else a tuple type is returned if the element is a tuple, - else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_LIST is specified - a list type is returned if the element is a list, else a tuple type is returned if the element - is a tuple, else the actual type is returned for non-tuple data. If BOOST_VMD_RETURN_TYPE_TUPLE - is specified a tuple type is returned for all tuple-like data, else the actual type is returned - for non-tuple data. If more than one return type optional parameter is specified the last one - specified determines the return type. - - returns = A Boost PP tuple. If the sequence is empty the return is emptiness - since an empty tuple does not exist. If an optional return type other - than BOOST_VMD_RETURN_NO_TYPE is specified the type and the data of - each element is returned as the tuple element. Otherwise just the data - is returned as the tuple element, which is the default. - -*/ - -#define BOOST_VMD_TO_TUPLE_D(d,...) \ - BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_D(d,__VA_ARGS__) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TO_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple.hpp b/contrib/restricted/boost/boost/vmd/tuple.hpp deleted file mode 100644 index 0752ba71697..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_HPP) -#define BOOST_VMD_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/tuple/is_vmd_tuple.hpp> -#include <boost/vmd/tuple/pop_back.hpp> -#include <boost/vmd/tuple/pop_front.hpp> -#include <boost/vmd/tuple/push_back.hpp> -#include <boost/vmd/tuple/push_front.hpp> -#include <boost/vmd/tuple/remove.hpp> -#include <boost/vmd/tuple/size.hpp> -#include <boost/vmd/tuple/to_array.hpp> -#include <boost/vmd/tuple/to_list.hpp> -#include <boost/vmd/tuple/to_seq.hpp> - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/is_vmd_tuple.hpp b/contrib/restricted/boost/boost/vmd/tuple/is_vmd_tuple.hpp deleted file mode 100644 index 58595b601a8..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/is_vmd_tuple.hpp +++ /dev/null @@ -1,56 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_IS_VMD_TUPLE_HPP) -#define BOOST_VMD_IS_VMD_TUPLE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_tuple.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_IS_VMD_TUPLE(sequence) - - \brief Determines if a sequence is a VMD tuple. - - The macro checks that the sequence is a VMD tuple. - A VMD tuple, which may be a Boost PP tuple or emptiness, is a superset of a Boost PP tuple. - It returns 1 if it is a VMD tuple, else if returns 0. - - sequence = a possible Boost PP tuple - - returns = 1 if it a VMD tuple, else returns 0. - -*/ - -#define BOOST_VMD_IS_VMD_TUPLE(sequence) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(sequence), \ - BOOST_VMD_IDENTITY(1), \ - BOOST_VMD_IS_TUPLE \ - ) \ - (sequence) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_IS_VMD_TUPLE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/pop_back.hpp b/contrib/restricted/boost/boost/vmd/tuple/pop_back.hpp deleted file mode 100644 index e9a7558969b..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/pop_back.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_POP_BACK_HPP) -#define BOOST_VMD_TUPLE_POP_BACK_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/pop_back.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_POP_BACK(tuple) - - \brief pops an element from the end of a tuple. - - tuple = tuple to pop an element from. - - If the tuple is an empty tuple the result is undefined. - If the tuple is a single element the result is an empty tuple. - Otherwise the result is a tuple after removing the last element. -*/ - -#define BOOST_VMD_TUPLE_POP_BACK(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_POP_BACK \ - ) \ - (tuple) \ -/**/ - -/** \def BOOST_VMD_TUPLE_POP_BACK_Z(z,tuple) - - \brief pops an element from the end of a tuple. It reenters BOOST_PP_REPEAT with maximum efficiency. - - z = the next available BOOST_PP_REPEAT dimension. - tuple = tuple to pop an element from. - - If the tuple is an empty tuple the result is undefined. - If the tuple is a single element the result is an empty tuple. - Otherwise the result is a tuple after removing the last element. -*/ - -#define BOOST_VMD_TUPLE_POP_BACK_Z(z,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_POP_BACK_Z \ - ) \ - (z,tuple) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_POP_BACK_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/pop_front.hpp b/contrib/restricted/boost/boost/vmd/tuple/pop_front.hpp deleted file mode 100644 index fc844921848..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/pop_front.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_POP_FRONT_HPP) -#define BOOST_VMD_TUPLE_POP_FRONT_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/pop_front.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_POP_FRONT(tuple) - - \brief pops an element from the front of a tuple. - - tuple = tuple to pop an element from. - - If the tuple is an empty tuple the result is undefined. - If the tuple is a single element the result is an empty tuple. - Otherwise the result is a tuple after removing the first element. -*/ - -#define BOOST_VMD_TUPLE_POP_FRONT(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_POP_FRONT \ - ) \ - (tuple) \ -/**/ - -/** \def BOOST_VMD_TUPLE_POP_FRONT_Z(z,tuple) - - \brief pops an element from the front of a tuple. It reenters BOOST_PP_REPEAT with maximum efficiency. - - z = the next available BOOST_PP_REPEAT dimension. - tuple = tuple to pop an element from. - - If the tuple is an empty tuple the result is undefined. - If the tuple is a single element the result is an empty tuple. - Otherwise the result is a tuple after removing the first element. -*/ - -#define BOOST_VMD_TUPLE_POP_FRONT_Z(z,tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_POP_FRONT_Z \ - ) \ - (z,tuple) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_POP_FRONT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/push_back.hpp b/contrib/restricted/boost/boost/vmd/tuple/push_back.hpp deleted file mode 100644 index 778e257c888..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/push_back.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_PUSH_BACK_HPP) -#define BOOST_VMD_TUPLE_PUSH_BACK_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/push_back.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_PUSH_BACK(tuple,elem) - - \brief appends an element to the end of a tuple. - - tuple = tuple to to append an element to. - elem = element to append. - - If the tuple is an empty tuple the result is a tuple with the single element. - Otherwise the result is a tuple after adding the element to the end. -*/ - -#define BOOST_VMD_TUPLE_PUSH_BACK(tuple,elem) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_IDENTITY((elem)), \ - BOOST_PP_TUPLE_PUSH_BACK \ - ) \ - (tuple,elem) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_PUSH_BACK_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/push_front.hpp b/contrib/restricted/boost/boost/vmd/tuple/push_front.hpp deleted file mode 100644 index 4ec57ad6986..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/push_front.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_PUSH_FRONT_HPP) -#define BOOST_VMD_TUPLE_PUSH_FRONT_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/push_front.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_PUSH_FRONT(tuple,elem) - - \brief inserts an element at the beginning of a tuple. - - tuple = tuple to insert an element at. - elem = element to insert. - - If the tuple is an empty tuple the result is a tuple with the single element. - Otherwise the result is a tuple after inserting the element at the beginning. -*/ - -#define BOOST_VMD_TUPLE_PUSH_FRONT(tuple,elem) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_IDENTITY((elem)), \ - BOOST_PP_TUPLE_PUSH_FRONT \ - ) \ - (tuple,elem) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_PUSH_FRONT_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/remove.hpp b/contrib/restricted/boost/boost/vmd/tuple/remove.hpp deleted file mode 100644 index 7f1324798d6..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/remove.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_REMOVE_HPP) -#define BOOST_VMD_TUPLE_REMOVE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/comparison/equal.hpp> -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/logical/bitand.hpp> -#include <boost/preprocessor/tuple/remove.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_REMOVE(tuple,index) - - \brief removes an element from a tuple. - - tuple = tuple from which an element is to be removed. - index = The zero-based position in tuple of the element to be removed. - - If index is greater or equal to the tuple size the result is undefined. - If the tuple is a single element and the index is 0 the result is an empty tuple. - Otherwise the result is a tuple after removing the index element. -*/ - -#define BOOST_VMD_TUPLE_REMOVE(tuple,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL(index,0), \ - BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(tuple),1) \ - ), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_REMOVE \ - ) \ - (tuple,index) \ -/**/ - -/** \def BOOST_VMD_TUPLE_REMOVE_D(d,tuple,index) - - \brief removes an element from a tuple. It reenters BOOST_PP_WHILE with maximum efficiency. - - d = The next available BOOST_PP_WHILE iteration. - tuple = tuple from which an element is to be removed. - index = The zero-based position in tuple of the element to be removed. - - If index is greater or equal to the tuple size the result is undefined. - If the tuple is a single element and the index is 0 the result is an empty tuple. - Otherwise the result is a tuple after removing the index element. -*/ - -#define BOOST_VMD_TUPLE_REMOVE_D(d,tuple,index) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_BITAND \ - ( \ - BOOST_PP_EQUAL_D(d,index,0), \ - BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(tuple),1) \ - ), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_REMOVE_D \ - ) \ - (d,tuple,index) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_REMOVE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/size.hpp b/contrib/restricted/boost/boost/vmd/tuple/size.hpp deleted file mode 100644 index 1e8d27169f4..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/size.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_SIZE_HPP) -#define BOOST_VMD_TUPLE_SIZE_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/size.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_SIZE(tuple) - - \brief expands to the size of the tuple passed to it. - - tuple = tuple whose size is to be extracted. - - If the tuple is an empty tuple its size is 0. - Otherwise the result is the number of elements in the tuple. -*/ - -#define BOOST_VMD_TUPLE_SIZE(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_IDENTITY(0), \ - BOOST_PP_TUPLE_SIZE \ - ) \ - (tuple) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_SIZE_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/to_array.hpp b/contrib/restricted/boost/boost/vmd/tuple/to_array.hpp deleted file mode 100644 index 4e9c8a29451..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/to_array.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_TO_ARRAY_HPP) -#define BOOST_VMD_TUPLE_TO_ARRAY_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/to_array.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_TO_ARRAY(tuple) - - \brief converts a tuple to an array. - - tuple = tuple to be converted. - - If the tuple is an empty tuple it is converted to an array with 0 elements. - Otherwise the tuple is converted to an array with the same number of elements as the tuple. -*/ - -#define BOOST_VMD_TUPLE_TO_ARRAY(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_IDENTITY((0,())), \ - BOOST_PP_TUPLE_TO_ARRAY \ - ) \ - (tuple) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_TO_ARRAY_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/to_list.hpp b/contrib/restricted/boost/boost/vmd/tuple/to_list.hpp deleted file mode 100644 index a66f26055b8..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/to_list.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_TO_LIST_HPP) -#define BOOST_VMD_TUPLE_TO_LIST_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/to_list.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_TO_LIST(tuple) - - \brief converts a tuple to a list. - - tuple = tuple to be converted. - - If the tuple is an empty tuple it is converted to an empty list (BOOST_PP_NIL). - Otherwise the tuple is converted to a list with the same number of elements as the tuple. -*/ - -#define BOOST_VMD_TUPLE_TO_LIST(tuple) \ - BOOST_VMD_IDENTITY_RESULT \ - ( \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_IDENTITY(BOOST_PP_NIL), \ - BOOST_PP_TUPLE_TO_LIST \ - ) \ - (tuple) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_TO_LIST_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/tuple/to_seq.hpp b/contrib/restricted/boost/boost/vmd/tuple/to_seq.hpp deleted file mode 100644 index de4a3d42e45..00000000000 --- a/contrib/restricted/boost/boost/vmd/tuple/to_seq.hpp +++ /dev/null @@ -1,49 +0,0 @@ - -// (C) Copyright Edward Diener 2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VMD_TUPLE_TO_SEQ_HPP) -#define BOOST_VMD_TUPLE_TO_SEQ_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/preprocessor/control/iif.hpp> -#include <boost/preprocessor/tuple/to_seq.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/is_empty.hpp> - -/* - - The succeeding comments in this file are in doxygen format. - -*/ - -/** \file -*/ - -/** \def BOOST_VMD_TUPLE_TO_SEQ(tuple) - - \brief converts a tuple to a seq. - - tuple = tuple to be converted. - - If the tuple is an empty tuple it is converted to an empty seq. - Otherwise the tuple is converted to a seq with the same number of elements as the tuple. -*/ - -#define BOOST_VMD_TUPLE_TO_SEQ(tuple) \ - BOOST_PP_IIF \ - ( \ - BOOST_VMD_IS_EMPTY(tuple), \ - BOOST_VMD_EMPTY, \ - BOOST_PP_TUPLE_TO_SEQ \ - ) \ - (tuple) \ -/**/ - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VMD_TUPLE_TO_SEQ_HPP */ diff --git a/contrib/restricted/boost/boost/vmd/vmd.hpp b/contrib/restricted/boost/boost/vmd/vmd.hpp deleted file mode 100644 index 1ef18c6df09..00000000000 --- a/contrib/restricted/boost/boost/vmd/vmd.hpp +++ /dev/null @@ -1,54 +0,0 @@ - -// (C) Copyright Edward Diener 2011-2015 -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#if !defined(BOOST_VARIADIC_MACRO_DATA_HPP) -#define BOOST_VARIADIC_MACRO_DATA_HPP - -#include <boost/vmd/detail/setup.hpp> - -#if BOOST_PP_VARIADICS - -#include <boost/vmd/array.hpp> -#include <boost/vmd/assert.hpp> -#include <boost/vmd/assert_is_array.hpp> -#include <boost/vmd/assert_is_empty.hpp> -#include <boost/vmd/assert_is_identifier.hpp> -#include <boost/vmd/assert_is_list.hpp> -#include <boost/vmd/assert_is_number.hpp> -#include <boost/vmd/assert_is_seq.hpp> -#include <boost/vmd/assert_is_tuple.hpp> -#include <boost/vmd/assert_is_type.hpp> -#include <boost/vmd/elem.hpp> -#include <boost/vmd/empty.hpp> -#include <boost/vmd/enum.hpp> -#include <boost/vmd/equal.hpp> -#include <boost/vmd/get_type.hpp> -#include <boost/vmd/identity.hpp> -#include <boost/vmd/is_array.hpp> -#include <boost/vmd/is_empty.hpp> -#include <boost/vmd/is_empty_array.hpp> -#include <boost/vmd/is_empty_list.hpp> -#include <boost/vmd/is_identifier.hpp> -#include <boost/vmd/is_list.hpp> -#include <boost/vmd/is_multi.hpp> -#include <boost/vmd/is_number.hpp> -#include <boost/vmd/is_parens_empty.hpp> -#include <boost/vmd/is_seq.hpp> -#include <boost/vmd/is_tuple.hpp> -#include <boost/vmd/is_type.hpp> -#include <boost/vmd/is_unary.hpp> -#include <boost/vmd/list.hpp> -#include <boost/vmd/not_equal.hpp> -#include <boost/vmd/seq.hpp> -#include <boost/vmd/size.hpp> -#include <boost/vmd/to_array.hpp> -#include <boost/vmd/to_list.hpp> -#include <boost/vmd/to_seq.hpp> -#include <boost/vmd/to_tuple.hpp> -#include <boost/vmd/tuple.hpp> - -#endif /* BOOST_PP_VARIADICS */ -#endif /* BOOST_VARIADIC_MACRO_DATA_HPP */ diff --git a/contrib/restricted/boost/vmd/CMakeLists.txt b/contrib/restricted/boost/vmd/CMakeLists.txt new file mode 100644 index 00000000000..c3f4929897e --- /dev/null +++ b/contrib/restricted/boost/vmd/CMakeLists.txt @@ -0,0 +1,18 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-boost-vmd INTERFACE) +target_include_directories(restricted-boost-vmd INTERFACE + ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/vmd/include +) +target_link_libraries(restricted-boost-vmd INTERFACE + contrib-libs-cxxsupp + yutil + restricted-boost-preprocessor +) |