small sfinae fix for in_place constructors

This commit is contained in:
Andrzej Krzemienski
2016-11-02 22:28:20 +01:00
parent 4e08f0dd41
commit 9bc1cc585c

View File

@ -727,7 +727,9 @@ class optional_base : public optional_tag
template <typename U>
struct is_optional_related
: boost::conditional< boost::is_base_of<optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay<U>::type>::value
|| boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<U>::type, none_t>::value,
|| boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<U>::type, none_t>::value
|| boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<U>::type, in_place_init_t>::value
|| boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<U>::type, in_place_init_if_t>::value,
boost::true_type, boost::false_type>::type
{};