diff options
author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) |
commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/fusion/container/map | |
parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
download | swift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/container/map')
10 files changed, 292 insertions, 39 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/container/map/limits.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/limits.hpp index ae5c378..43b5abb 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/limits.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/limits.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_MAP_LIMITS_07212005_1104) #define FUSION_MAP_LIMITS_07212005_1104 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/container/vector/limits.hpp> #if !defined(FUSION_MAX_MAP_SIZE) diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/map_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/map_fwd.hpp new file mode 100644 index 0000000..cf26fdd --- /dev/null +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/map_fwd.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under 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(FUSION_MAP_FORWARD_07212005_1105) +#define FUSION_MAP_FORWARD_07212005_1105 + +#include <boost/fusion/support/config.hpp> +#include <boost/fusion/container/map/detail/cpp03/limits.hpp> +#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp> + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp> +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_MAP_SIZE, typename T, void_) + > + struct map; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map10_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp index cd9292e..cd9292e 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map10_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map20_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp index 0ff5fa5..0ff5fa5 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map20_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map30_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp index d9be47a..d9be47a 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map30_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map40_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp index c2b40e1..c2b40e1 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map40_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map50_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp index 6c10722..6c10722 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map50_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp index e478a6f..2e66a45 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/detail/preprocessed/map_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 -#include <boost/fusion/container/map/detail/preprocessed/map10_fwd.hpp> +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp> #elif FUSION_MAX_MAP_SIZE <= 20 -#include <boost/fusion/container/map/detail/preprocessed/map20_fwd.hpp> +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp> #elif FUSION_MAX_MAP_SIZE <= 30 -#include <boost/fusion/container/map/detail/preprocessed/map30_fwd.hpp> +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp> #elif FUSION_MAX_MAP_SIZE <= 40 -#include <boost/fusion/container/map/detail/preprocessed/map40_fwd.hpp> +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp> #elif FUSION_MAX_MAP_SIZE <= 50 -#include <boost/fusion/container/map/detail/preprocessed/map50_fwd.hpp> +#include <boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp> #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif diff --git a/3rdParty/Boost/src/boost/fusion/container/map/detail/map_impl.hpp b/3rdParty/Boost/src/boost/fusion/container/map/detail/map_impl.hpp new file mode 100644 index 0000000..f70d139 --- /dev/null +++ b/3rdParty/Boost/src/boost/fusion/container/map/detail/map_impl.hpp @@ -0,0 +1,206 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under 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_FUSION_MAP_IMPL_02032013_2233) +#define BOOST_FUSION_MAP_IMPL_02032013_2233 + +#include <boost/fusion/support/config.hpp> +#include <boost/fusion/support/detail/access.hpp> +#include <boost/fusion/iterator/deref.hpp> +#include <boost/fusion/iterator/next.hpp> +#include <boost/mpl/int.hpp> +#include <boost/mpl/identity.hpp> + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; +}} + +namespace boost { namespace fusion { namespace detail +{ + struct map_impl_from_iterator {}; + + template <int index, typename ...T> + struct map_impl; + + template <int index_> + struct map_impl<index_> + { + typedef fusion_sequence_tag tag; + static int const index = index_; + static int const size = 0; + + BOOST_FUSION_GPU_ENABLED + map_impl() {} + + template <typename Iterator> + BOOST_FUSION_GPU_ENABLED + map_impl(Iterator const& iter, map_impl_from_iterator) + {} + + template <typename Iterator> + BOOST_FUSION_GPU_ENABLED + void assign(Iterator const& iter, map_impl_from_iterator) + {} + + BOOST_FUSION_GPU_ENABLED + void get(); + BOOST_FUSION_GPU_ENABLED + void get_val(); + BOOST_FUSION_GPU_ENABLED + void get_key(); + }; + + template <int index_, typename Pair, typename ...T> + struct map_impl<index_, Pair, T...> : map_impl<index_ + 1, T...> + { + typedef fusion_sequence_tag tag; + typedef map_impl<index_+1, T...> rest_type; + + using rest_type::get; + using rest_type::get_val; + using rest_type::get_key; + + static int const index = index_; + static int const size = rest_type::size + 1; + + typedef Pair pair_type; + typedef typename Pair::first_type key_type; + typedef typename Pair::second_type value_type; + + BOOST_FUSION_GPU_ENABLED + map_impl() + : rest_type(), element() + {} + + BOOST_FUSION_GPU_ENABLED + map_impl(map_impl const& rhs) + : rest_type(rhs.get_base()), element(rhs.element) + {} + + BOOST_FUSION_GPU_ENABLED + map_impl(map_impl&& rhs) + : rest_type(std::forward<rest_type>(*static_cast<rest_type*>(&rhs))) + , element(std::forward<Pair>(rhs.element)) + {} + + template <typename ...U> + BOOST_FUSION_GPU_ENABLED + map_impl(map_impl<index, U...> const& rhs) + : rest_type(rhs.get_base()), element(rhs.element) + {} + + BOOST_FUSION_GPU_ENABLED + map_impl(typename detail::call_param<Pair>::type element_ + , typename detail::call_param<T>::type... rest) + : rest_type(rest...), element(element_) + {} + + BOOST_FUSION_GPU_ENABLED + map_impl(Pair&& element_, T&&... rest) + : rest_type(std::forward<T>(rest)...) + , element(std::forward<Pair>(element_)) + {} + + template <typename Iterator> + BOOST_FUSION_GPU_ENABLED + map_impl(Iterator const& iter, map_impl_from_iterator fi) + : rest_type(fusion::next(iter), fi) + , element(*iter) + {} + + BOOST_FUSION_GPU_ENABLED + rest_type& get_base() + { + return *this; + } + + BOOST_FUSION_GPU_ENABLED + rest_type const& get_base() const + { + return *this; + } + + BOOST_FUSION_GPU_ENABLED + value_type get_val(mpl::identity<key_type>); + BOOST_FUSION_GPU_ENABLED + pair_type get_val(mpl::int_<index>); + BOOST_FUSION_GPU_ENABLED + value_type get_val(mpl::identity<key_type>) const; + BOOST_FUSION_GPU_ENABLED + pair_type get_val(mpl::int_<index>) const; + + BOOST_FUSION_GPU_ENABLED + mpl::identity<key_type> get_key(mpl::int_<index>); + BOOST_FUSION_GPU_ENABLED + mpl::identity<key_type> get_key(mpl::int_<index>) const; + + BOOST_FUSION_GPU_ENABLED + typename cref_result<value_type>::type + get(mpl::identity<key_type>) const + { + return element.second; + } + + BOOST_FUSION_GPU_ENABLED + typename ref_result<value_type>::type + get(mpl::identity<key_type>) + { + return element.second; + } + + BOOST_FUSION_GPU_ENABLED + typename cref_result<pair_type>::type + get(mpl::int_<index>) const + { + return element; + } + + BOOST_FUSION_GPU_ENABLED + typename ref_result<pair_type>::type + get(mpl::int_<index>) + { + return element; + } + + template <typename ...U> + BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl<index, U...> const& rhs) + { + rest_type::operator=(rhs); + element = rhs.element; + return *this; + } + + BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl const& rhs) + { + rest_type::operator=(rhs); + element = rhs.element; + return *this; + } + + BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl&& rhs) + { + rest_type::operator=(std::forward<map_impl>(rhs)); + element = std::forward<Pair>(rhs.element); + return *this; + } + + template <typename Iterator> + BOOST_FUSION_GPU_ENABLED + void assign(Iterator const& iter, map_impl_from_iterator fi) + { + rest_type::assign(fusion::next(iter), fi); + element = *iter; + } + + Pair element; + }; +}}} + +#endif diff --git a/3rdParty/Boost/src/boost/fusion/container/map/map_fwd.hpp b/3rdParty/Boost/src/boost/fusion/container/map/map_fwd.hpp index 76c5eea..0eca629 100644 --- a/3rdParty/Boost/src/boost/fusion/container/map/map_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/container/map/map_fwd.hpp @@ -4,49 +4,42 @@ Distributed under 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(FUSION_MAP_FORWARD_07212005_1105) -#define FUSION_MAP_FORWARD_07212005_1105 - -#include <boost/fusion/container/map/limits.hpp> -#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp> - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include <boost/fusion/container/map/detail/preprocessed/map_fwd.hpp> +#if !defined(FUSION_MAP_FORWARD_MAIN_07212005_1105) +#define FUSION_MAP_FORWARD_MAIN_07212005_1105 + +#include <boost/fusion/support/config.hpp> +#include <boost/config.hpp> + +#if (defined(BOOST_NO_CXX11_DECLTYPE) \ + || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# undef BOOST_FUSION_HAS_VARIADIC_MAP +# endif #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") +# if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# define BOOST_FUSION_HAS_VARIADIC_MAP +# endif #endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ +/////////////////////////////////////////////////////////////////////////////// +// With no decltype and variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include <boost/fusion/container/map/detail/cpp03/map_fwd.hpp> +#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +#include <boost/fusion/container/map/detail/map_impl.hpp> +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { - struct void_; - struct map_tag; - struct map_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_MAP_SIZE, typename T, void_) - > + template <typename ...T> struct map; }} -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) #endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - #endif |