none_t is no loner constructible from literal 0

This caused problems because:
optional<T> o = 0;
always worked. But often it would create an uninitialized optional.
This commit is contained in:
Andrzej Krzemienski
2014-11-22 01:18:25 +01:00
parent 5435021ea4
commit 53e53171c4
7 changed files with 63 additions and 5 deletions

View File

@ -1,4 +1,5 @@
// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
// Copyright (C) 2014 Andrzej Krzemienski.
//
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -14,9 +15,12 @@
namespace boost {
#ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
namespace detail { struct none_helper{}; }
typedef int detail::none_helper::*none_t ;
#else
class none_t {};
#endif
} // namespace boost