Compare commits

..

3 Commits

Author SHA1 Message Date
155ad5911e Merge branch 'develop' 2018-07-16 20:41:11 +02:00
2854383cf7 Merge branch 'develop' 2018-07-03 23:06:28 +02:00
8f992acb94 Merge branch 'develop' 2018-03-01 01:53:37 +01:00

View File

@ -14,9 +14,10 @@
#define BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP
#include <boost/detail/reference_content.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/not.hpp>
#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/conditional.hpp>
namespace boost {
@ -95,13 +96,13 @@ class optional_base : public optional_tag
typedef T value_type ;
typedef true_type is_reference_tag ;
typedef false_type is_not_reference_tag ;
typedef mpl::true_ is_reference_tag ;
typedef mpl::false_ is_not_reference_tag ;
typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
public:
typedef BOOST_DEDUCED_TYPENAME conditional<is_reference_predicate::value,types_when_ref,types_when_not_ref>::type types ;
typedef BOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
protected:
typedef BOOST_DEDUCED_TYPENAME types::reference_type reference_type ;
@ -421,7 +422,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr&& factory, in_place_factory_base const* )
{
BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
boost_optional_detail::construct<value_type>(factory, m_storage.address());
m_initialized = true ;
}
@ -430,7 +431,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr&& factory, typed_in_place_factory_base const* )
{
BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
factory.apply(m_storage.address()) ;
m_initialized = true ;
}
@ -455,7 +456,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr const& factory, in_place_factory_base const* )
{
BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
boost_optional_detail::construct<value_type>(factory, m_storage.address());
m_initialized = true ;
}
@ -464,7 +465,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr const& factory, typed_in_place_factory_base const* )
{
BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
factory.apply(m_storage.address()) ;
m_initialized = true ;
}