Use reinterpret_cast to pointer instead of to reference

This commit is contained in:
Peter Dimov
2021-06-13 20:40:27 +03:00
parent fbc49bbaa0
commit 0d8511f571

View File

@ -156,7 +156,7 @@ public:
} }
else else
{ {
detail::std_error_code const& ec = reinterpret_cast<detail::std_error_code const&>( d2_ ); detail::std_error_code const& ec = *reinterpret_cast<detail::std_error_code const*>( d2_ );
return ec.value() + static_cast<unsigned>( reinterpret_cast<boost::uintptr_t>( &ec.category() ) % 1073741789 /* 2^30-35, prime*/ ); return ec.value() + static_cast<unsigned>( reinterpret_cast<boost::uintptr_t>( &ec.category() ) % 1073741789 /* 2^30-35, prime*/ );
} }
} }
@ -189,7 +189,7 @@ public:
if( flags_ == 1 ) if( flags_ == 1 )
{ {
detail::std_error_code const& ec = reinterpret_cast<detail::std_error_code const&>( d2_ ); detail::std_error_code const& ec = *reinterpret_cast<detail::std_error_code const*>( d2_ );
return ec.message(); return ec.message();
} }
@ -207,7 +207,7 @@ public:
try try
#endif #endif
{ {
detail::std_error_code const& ec = reinterpret_cast<detail::std_error_code const&>( d2_ ); detail::std_error_code const& ec = *reinterpret_cast<detail::std_error_code const*>( d2_ );
detail::snprintf( buffer, len, "%s", ec.message().c_str() ); detail::snprintf( buffer, len, "%s", ec.message().c_str() );
return buffer; return buffer;
} }
@ -230,7 +230,7 @@ public:
} }
else if( flags_ == 1 ) else if( flags_ == 1 )
{ {
detail::std_error_code const& ec = reinterpret_cast<detail::std_error_code const&>( d2_ ); detail::std_error_code const& ec = *reinterpret_cast<detail::std_error_code const*>( d2_ );
return ec.value() != 0; return ec.value() != 0;
} }
else else
@ -289,7 +289,7 @@ public:
{ {
if( flags_ == 1 ) if( flags_ == 1 )
{ {
return reinterpret_cast<std::error_code const&>( d2_ ); return *reinterpret_cast<std::error_code const*>( d2_ );
} }
else if( flags_ == 0 ) else if( flags_ == 0 )
{ {
@ -318,7 +318,7 @@ public:
flags_ = 1; flags_ = 1;
} }
return reinterpret_cast<std::error_code&>( d2_ ); return *reinterpret_cast<std::error_code*>( d2_ );
} }
#endif #endif
@ -331,7 +331,7 @@ public:
if( ec.flags_ == 1 ) if( ec.flags_ == 1 )
{ {
detail::std_error_code const& e2 = reinterpret_cast<detail::std_error_code const&>( ec.d2_ ); detail::std_error_code const& e2 = *reinterpret_cast<detail::std_error_code const*>( ec.d2_ );
os << "std:" << e2.category().name() << ':' << e2.value(); os << "std:" << e2.category().name() << ':' << e2.value();
} }
else else