mirror of
https://github.com/boostorg/leaf.git
synced 2026-01-26 06:32:23 +00:00
Noexcept refinements
This commit is contained in:
@@ -195,7 +195,7 @@ namespace detail
|
||||
tuple_for_each<I-1,Tup>::deactivate(tup);
|
||||
}
|
||||
|
||||
BOOST_LEAF_CONSTEXPR static void unload( Tup & tup, int err_id ) noexcept
|
||||
BOOST_LEAF_CONSTEXPR static void unload( Tup & tup, int err_id ) noexcept(!BOOST_LEAF_CFG_CAPTURE)
|
||||
{
|
||||
static_assert(!std::is_same<error_info, typename std::decay<decltype(std::get<I-1>(tup))>::type>::value, "Bug in LEAF: context type deduction");
|
||||
BOOST_LEAF_ASSERT(err_id != 0);
|
||||
@@ -357,7 +357,7 @@ public:
|
||||
tuple_for_each<std::tuple_size<Tup>::value,Tup>::deactivate(tup_);
|
||||
}
|
||||
|
||||
BOOST_LEAF_CONSTEXPR void unload(error_id id) noexcept
|
||||
BOOST_LEAF_CONSTEXPR void unload(error_id id) noexcept(!BOOST_LEAF_CFG_CAPTURE)
|
||||
{
|
||||
BOOST_LEAF_ASSERT(!is_active());
|
||||
detail::tuple_for_each<std::tuple_size<Tup>::value,Tup>::unload(tup_, id.value());
|
||||
|
||||
@@ -217,8 +217,6 @@ namespace detail
|
||||
|
||||
#endif // #else (#if BOOST_LEAF_CFG_CAPTURE)
|
||||
|
||||
using verbose_diagnostic_info = diagnostic_details;
|
||||
|
||||
} } // namespace boost::leaf
|
||||
|
||||
#endif // #ifndef BOOST_LEAF_DIAGNOSTICS_HPP_INCLUDED
|
||||
|
||||
@@ -118,7 +118,6 @@ struct show_in_diagnostics<e_source_location>: std::false_type
|
||||
|
||||
namespace serialization
|
||||
{
|
||||
|
||||
template <class Encoder, class T, class... Unused>
|
||||
typename std::enable_if<std::is_base_of<detail::encoder, Encoder>::value>::type
|
||||
serialize(Encoder &, T const &, char const *, Unused && ...)
|
||||
@@ -863,13 +862,13 @@ namespace detail
|
||||
}
|
||||
}
|
||||
|
||||
inline error_id new_error()
|
||||
BOOST_LEAF_ATTRIBUTE_NODISCARD inline error_id new_error()
|
||||
{
|
||||
return detail::make_error_id(detail::start_new_error());
|
||||
}
|
||||
|
||||
template <class... Item>
|
||||
inline error_id new_error( Item && ... item )
|
||||
BOOST_LEAF_ATTRIBUTE_NODISCARD inline error_id new_error( Item && ... item )
|
||||
{
|
||||
return detail::make_error_id(detail::start_new_error()).load(std::forward<Item>(item)...);
|
||||
}
|
||||
|
||||
@@ -410,13 +410,13 @@ public:
|
||||
#endif // #else (#if defined(BOOST_STRICT_CONFIG) || !defined(__clang__))
|
||||
|
||||
#if BOOST_LEAF_CFG_STD_SYSTEM_ERROR
|
||||
result( std::error_code const & ec ) noexcept:
|
||||
result( std::error_code const & ec ) noexcept(!BOOST_LEAF_CFG_CAPTURE):
|
||||
what_(error_id(ec))
|
||||
{
|
||||
}
|
||||
|
||||
template <class Enum, class = typename std::enable_if<std::is_error_code_enum<Enum>::value, int>::type>
|
||||
result( Enum e ) noexcept:
|
||||
result( Enum e ) noexcept(!BOOST_LEAF_CFG_CAPTURE):
|
||||
what_(error_id(e))
|
||||
{
|
||||
}
|
||||
@@ -652,13 +652,13 @@ public:
|
||||
}
|
||||
|
||||
#if BOOST_LEAF_CFG_STD_SYSTEM_ERROR
|
||||
result( std::error_code const & ec ) noexcept:
|
||||
result( std::error_code const & ec ) noexcept(!BOOST_LEAF_CFG_CAPTURE):
|
||||
base(ec)
|
||||
{
|
||||
}
|
||||
|
||||
template <class Enum, class = typename std::enable_if<std::is_error_code_enum<Enum>::value, int>::type>
|
||||
result( Enum e ) noexcept:
|
||||
result( Enum e ) noexcept(!BOOST_LEAF_CFG_CAPTURE):
|
||||
base(e)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user