mirror of
https://github.com/boostorg/system.git
synced 2025-07-30 20:47:14 +02:00
Change assertions in operator* to match documentation; improves codegen slightly in the result<U&> case
This commit is contained in:
@ -332,40 +332,28 @@ public:
|
|||||||
|
|
||||||
BOOST_CXX14_CONSTEXPR T& operator*() noexcept
|
BOOST_CXX14_CONSTEXPR T& operator*() noexcept
|
||||||
{
|
{
|
||||||
T* p = operator->();
|
BOOST_ASSERT( has_value() );
|
||||||
|
return *operator->();
|
||||||
BOOST_ASSERT( p != 0 );
|
|
||||||
|
|
||||||
return *p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CXX14_CONSTEXPR T const& operator*() const noexcept
|
BOOST_CXX14_CONSTEXPR T const& operator*() const noexcept
|
||||||
{
|
{
|
||||||
T const* p = operator->();
|
BOOST_ASSERT( has_value() );
|
||||||
|
return *operator->();
|
||||||
BOOST_ASSERT( p != 0 );
|
|
||||||
|
|
||||||
return *p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
BOOST_CXX14_CONSTEXPR T& operator*() & noexcept
|
BOOST_CXX14_CONSTEXPR T& operator*() & noexcept
|
||||||
{
|
{
|
||||||
T* p = operator->();
|
BOOST_ASSERT( has_value() );
|
||||||
|
return *operator->();
|
||||||
BOOST_ASSERT( p != 0 );
|
|
||||||
|
|
||||||
return *p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CXX14_CONSTEXPR T const& operator*() const & noexcept
|
BOOST_CXX14_CONSTEXPR T const& operator*() const & noexcept
|
||||||
{
|
{
|
||||||
T const* p = operator->();
|
BOOST_ASSERT( has_value() );
|
||||||
|
return *operator->();
|
||||||
BOOST_ASSERT( p != 0 );
|
|
||||||
|
|
||||||
return *p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class U = T>
|
template<class U = T>
|
||||||
@ -838,11 +826,8 @@ public:
|
|||||||
|
|
||||||
BOOST_CXX14_CONSTEXPR U& operator*() const noexcept
|
BOOST_CXX14_CONSTEXPR U& operator*() const noexcept
|
||||||
{
|
{
|
||||||
U* p = operator->();
|
BOOST_ASSERT( has_value() );
|
||||||
|
return *operator->();
|
||||||
BOOST_ASSERT( p != 0 );
|
|
||||||
|
|
||||||
return *p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// error access
|
// error access
|
||||||
|
Reference in New Issue
Block a user