@@ -334,65 +334,57 @@ namespace detail
334334 inline void dynamic_load_ ( int err_id, E && e )
335335 {
336336 if ( slot<dynamic_allocator> * sl = tls::read_ptr<slot<dynamic_allocator>>() )
337- {
338337 if ( dynamic_allocator * c = sl->has_value_any_key () )
339338 c->dynamic_load (err_id, std::forward<E>(e));
340339 else
341340 sl->load (err_id).dynamic_load (err_id, std::forward<E>(e));
342- }
343341 }
344342
345343 template <class E , class F >
346344 inline void dynamic_accumulate_ ( int err_id, F && f )
347345 {
348346 if ( slot<dynamic_allocator> * sl = tls::read_ptr<slot<dynamic_allocator>>() )
349- {
350347 if ( dynamic_allocator * c = sl->has_value (err_id) )
351348 (void ) std::forward<F>(f)(c->dynamic_load (err_id, E{}));
352349 else
353350 (void ) std::forward<F>(f)(sl->load (err_id).dynamic_load (err_id, E{}));
354- }
355351 }
356352
357353 template <bool OnError, class E >
358354 inline void dynamic_load ( int err_id, E && e ) noexcept (OnError)
359355 {
356+ #ifndef BOOST_LEAF_NO_EXCEPTIONS
360357 if ( OnError )
361358 {
362- #ifndef BOOST_LEAF_NO_EXCEPTIONS
363359 try
364360 {
365- #endif
366361 dynamic_load_ (err_id, std::forward<E>(e));
367- #ifndef BOOST_LEAF_NO_EXCEPTIONS
368362 }
369363 catch (...)
370364 {
371365 }
372- #endif
373366 }
374367 else
368+ #endif
375369 dynamic_load_ (err_id, std::forward<E>(e));
376370 }
377371
378372 template <bool OnError, class E , class F >
379373 inline void dynamic_load_accumulate ( int err_id, F && f ) noexcept (OnError)
380374 {
375+ #ifndef BOOST_LEAF_NO_EXCEPTIONS
381376 if ( OnError )
382377 {
383- #ifndef BOOST_LEAF_NO_EXCEPTIONS
384378 try
385379 {
386- #endif
387380 dynamic_accumulate_<E>(err_id, std::forward<F>(f));
388- #ifndef BOOST_LEAF_NO_EXCEPTIONS
389381 }
390382 catch (...)
391383 {
392384 }
393- #endif
394385 }
395386 else
387+ #endif
396388 dynamic_accumulate_<E>(err_id, std::forward<F>(f));
397389 }
398390}
0 commit comments