optional/include/boost
Andrey Semashev 24d29e5865 Fix for clang, when adapted type is convertible from other types.
The problem was with copy/move constructors of boost::optional<T>, which invoked
optional_base<T> constructors with a single argument. Since optional_base has
copy/move constructors along with initializing constructors taking a single
argument, the latter may be considered by the compiler for viability. While
doing so, the compiler may instantiate the template constructor of T with
an argument of optional_base<T>, which in turn may fail if the constructor
attempts to inspect the type of its argument (e.g. to constrain the set of
acceptable types). Specifically, this happens with clang in C++03 mode,
when boost::multiprecision::number is wrapped in boost::optional and
a copy constructor of boost::optional is invoked.

This commit fixes the problem by destinguishing copy/move constructors of
optional_base from initializing constructors with an additional tag argument.
2018-11-04 17:35:10 +03:00
..
optional Fix for clang, when adapted type is convertible from other types. 2018-11-04 17:35:10 +03:00
none_t.hpp added optional ref swap 2016-02-13 15:33:07 +01:00
none.hpp Config: detect ref convert bug in gcc 4.4 and 4.5 2015-10-14 23:11:33 +02:00
optional.hpp // Add or correct comment identifying Boost library this header is associated with. 2007-11-17 20:13:16 +00:00