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/cast.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-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/cast.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/cast.hpp | 103 | 
1 files changed, 8 insertions, 95 deletions
| diff --git a/3rdParty/Boost/src/boost/cast.hpp b/3rdParty/Boost/src/boost/cast.hpp index 2615d18..ab452bd 100644 --- a/3rdParty/Boost/src/boost/cast.hpp +++ b/3rdParty/Boost/src/boost/cast.hpp @@ -1,106 +1,19 @@ -//  boost cast.hpp header file  ----------------------------------------------// - -//  (C) Copyright Kevlin Henney and Dave Abrahams 1999. +//  boost cast.hpp header file +// +//  (C) Copyright Antony Polukhin 2014. +//  //  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) - +//  //  See http://www.boost.org/libs/conversion for Documentation. -//  Revision History -//  23 JUn 05  numeric_cast removed and redirected to the new verion (Fernando Cacciola) -//  02 Apr 01  Removed BOOST_NO_LIMITS workarounds and included -//             <boost/limits.hpp> instead (the workaround did not -//             actually compile when BOOST_NO_LIMITS was defined in -//             any case, so we loose nothing). (John Maddock) -//  21 Jan 01  Undid a bug I introduced yesterday. numeric_cast<> never -//             worked with stock GCC; trying to get it to do that broke -//             vc-stlport. -//  20 Jan 01  Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp. -//             Removed unused BOOST_EXPLICIT_TARGET macro. Moved -//             boost::detail::type to boost/type.hpp. Made it compile with -//             stock gcc again (Dave Abrahams) -//  29 Nov 00  Remove nested namespace cast, cleanup spacing before Formal -//             Review (Beman Dawes) -//  19 Oct 00  Fix numeric_cast for floating-point types (Dave Abrahams) -//  15 Jul 00  Suppress numeric_cast warnings for GCC, Borland and MSVC -//             (Dave Abrahams) -//  30 Jun 00  More MSVC6 wordarounds.  See comments below.  (Dave Abrahams) -//  28 Jun 00  Removed implicit_cast<>.  See comment below. (Beman Dawes) -//  27 Jun 00  More MSVC6 workarounds -//  15 Jun 00  Add workarounds for MSVC6 -//   2 Feb 00  Remove bad_numeric_cast ";" syntax error (Doncho Angelov) -//  26 Jan 00  Add missing throw() to bad_numeric_cast::what(0 (Adam Levar) -//  29 Dec 99  Change using declarations so usages in other namespaces work -//             correctly (Dave Abrahams) -//  23 Sep 99  Change polymorphic_downcast assert to also detect M.I. errors -//             as suggested Darin Adler and improved by Valentin Bonnard. -//   2 Sep 99  Remove controversial asserts, simplify, rename. -//  30 Aug 99  Move to cast.hpp, replace value_cast with numeric_cast, -//             place in nested namespace. -//   3 Aug 99  Initial version +// This is a DEPRECATED header file! +// Use <boost/polymorphic_cast.hpp> or <boost/numeric/conversion/cast.hpp> instead  #ifndef BOOST_CAST_HPP  #define BOOST_CAST_HPP -# include <boost/config.hpp> -# include <boost/assert.hpp> -# include <typeinfo> -# include <boost/type.hpp> -# include <boost/limits.hpp> -# include <boost/detail/select_type.hpp> - -//  It has been demonstrated numerous times that MSVC 6.0 fails silently at link -//  time if you use a template function which has template parameters that don't -//  appear in the function's argument list. -// -//  TODO: Add this to config.hpp? -# if defined(BOOST_MSVC) && BOOST_MSVC < 1300 -#  define BOOST_EXPLICIT_DEFAULT_TARGET , ::boost::type<Target>* = 0 -# else -#  define BOOST_EXPLICIT_DEFAULT_TARGET -# endif - -namespace boost -{ -//  See the documentation for descriptions of how to choose between -//  static_cast<>, dynamic_cast<>, polymorphic_cast<> and polymorphic_downcast<> - -//  polymorphic_cast  --------------------------------------------------------// - -    //  Runtime checked polymorphic downcasts and crosscasts. -    //  Suggested in The C++ Programming Language, 3rd Ed, Bjarne Stroustrup, -    //  section 15.8 exercise 1, page 425. - -    template <class Target, class Source> -    inline Target polymorphic_cast(Source* x BOOST_EXPLICIT_DEFAULT_TARGET) -    { -        Target tmp = dynamic_cast<Target>(x); -        if ( tmp == 0 ) throw std::bad_cast(); -        return tmp; -    } - -//  polymorphic_downcast  ----------------------------------------------------// - -    //  BOOST_ASSERT() checked polymorphic downcast.  Crosscasts prohibited. - -    //  WARNING: Because this cast uses BOOST_ASSERT(), it violates -    //  the One Definition Rule if used in multiple translation units -    //  where BOOST_DISABLE_ASSERTS, BOOST_ENABLE_ASSERT_HANDLER -    //  NDEBUG are defined inconsistently. - -    //  Contributed by Dave Abrahams - -    template <class Target, class Source> -    inline Target polymorphic_downcast(Source* x BOOST_EXPLICIT_DEFAULT_TARGET) -    { -        BOOST_ASSERT( dynamic_cast<Target>(x) == x );  // detect logic error -        return static_cast<Target>(x); -    } - -#  undef BOOST_EXPLICIT_DEFAULT_TARGET - -} // namespace boost - +# include <boost/polymorphic_cast.hpp>  # include <boost/numeric/conversion/cast.hpp> | 
 Swift
 Swift