From 1d38ecfd1025ef1e4f1312a0300630580aeb5fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sat, 22 Nov 2014 12:26:35 +0100 Subject: [PATCH] Fixed #10790 (Trac): long long errors from container --- doc/container.qbk | 4 +++- include/boost/container/detail/type_traits.hpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/container.qbk b/doc/container.qbk index 24e7031..0f4da15 100644 --- a/doc/container.qbk +++ b/doc/container.qbk @@ -1081,7 +1081,9 @@ use [*Boost.Container]? There are several reasons for that: [section:release_notes_boost_1_58_00 Boost 1.58 Release] * Added `nth` and `index_of` functions to containers with random-access iterators (except `basic_string`). -* Fixed bug in `vector::operator==`. +* Fixed bugs: + * [@https://svn.boost.org/trac/boost/ticket/10790 Trac #10790 (['long long errors from container"])]. + * [@https://svn.boost.org/trac/boost/ticket/10808 Trac #10808 (['compare equal operator of vector is broken"])]. [endsect] diff --git a/include/boost/container/detail/type_traits.hpp b/include/boost/container/detail/type_traits.hpp index 9ff3614..395e9f7 100644 --- a/include/boost/container/detail/type_traits.hpp +++ b/include/boost/container/detail/type_traits.hpp @@ -69,7 +69,7 @@ union max_align int int_; long long_; #ifdef BOOST_HAS_LONG_LONG - long long long_long_; + ::boost::long_long_type long_long_; #endif float float_; double double_; @@ -225,7 +225,7 @@ template <> struct make_unsigned {typedef unsigned short t template <> struct make_unsigned {typedef unsigned int type;}; template <> struct make_unsigned {typedef unsigned long type;}; #ifdef BOOST_HAS_LONG_LONG -template <> struct make_unsigned {typedef unsigned long long type;}; +template <> struct make_unsigned< ::boost::long_long_type > {typedef ::boost::ulong_long_type type;}; #endif } // namespace container_detail