Commit c60d131b authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

Move the guts of try_and_catch into a detail namespace

Summary:
[Folly] Move the guts of `try_and_catch` into a `detail` namespace.

Just a bit cleaner this way. Also, now we always slice before returning the derived object, so the derived type never escapes.

Reviewed By: luciang

Differential Revision: D4361471

fbshipit-source-id: 5c9567d3c5480ee9943a85139b8f27ba3b9da2d6
parent 8d510416
......@@ -395,6 +395,8 @@ fbstring exceptionStr(const exception_wrapper& ew);
* });
*/
namespace detail {
template <typename... Exceptions>
class try_and_catch;
......@@ -450,5 +452,11 @@ class try_and_catch<> : public exception_wrapper {
fn();
}
};
}
template <typename... Exceptions, typename F>
exception_wrapper try_and_catch(F&& fn) {
return detail::try_and_catch<Exceptions...>(std::forward<F>(fn));
} // detail
} // folly
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment