exceptions.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 1,741 行 · 第 1/4 页
HPP
1,741 行
template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } }};template<class Args, class Catch1, class Catch2>class lambda_functor_base<action<4, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>,detail::catch_all_block> > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (...) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS); } }};// 4 catch types casetemplate<class Args, class Catch1, class Catch2, class Catch3, class Catch4>class lambda_functor_base<action<5, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4> > > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch4& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } }};template<class Args, class Catch1, class Catch2, class Catch3>class lambda_functor_base<action<5, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>,detail::catch_all_block> > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (...) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS); } }};// 5 catch types casetemplate<class Args, class Catch1, class Catch2, class Catch3, class Catch4, class Catch5>class lambda_functor_base<action<6, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4>, detail::catch_block<Catch5> > > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch4& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch5& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<5>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } }};template<class Args, class Catch1, class Catch2, class Catch3, class Catch4>class lambda_functor_base<action<6, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4>,detail::catch_all_block> > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch4& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (...) { return detail::return_or_throw<RET, typename ::boost::tuples::element<5, Args>::type> ::call(::boost::tuples::get<5>(args), CALL_ACTUAL_ARGS); } }};// 6 catch types casetemplate<class Args, class Catch1, class Catch2, class Catch3, class Catch4, class Catch5, class Catch6>class lambda_functor_base<action<7, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4>, detail::catch_block<Catch5>, detail::catch_block<Catch6> > > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch4& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch5& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<5, Args>::type> ::call(::boost::tuples::get<5>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch6& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<6, Args>::type> ::call(::boost::tuples::get<6>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } }};template<class Args, class Catch1, class Catch2, class Catch3, class Catch4, class Catch5>class lambda_functor_base<action<7, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4>, detail::catch_block<Catch5>,detail::catch_all_block> > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<2, Args>::type> ::call(::boost::tuples::get<2>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch3& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<3, Args>::type> ::call(::boost::tuples::get<3>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch4& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<4, Args>::type> ::call(::boost::tuples::get<4>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch5& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<5, Args>::type> ::call(::boost::tuples::get<5>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (...) { return detail::return_or_throw<RET, typename ::boost::tuples::element<6, Args>::type> ::call(::boost::tuples::get<6>(args), CALL_ACTUAL_ARGS); } }};// 7 catch types casetemplate<class Args, class Catch1, class Catch2, class Catch3, class Catch4, class Catch5, class Catch6, class Catch7>class lambda_functor_base<action<8, try_catch_action<catch_action<detail::catch_block<Catch1>, detail::catch_block<Catch2>, detail::catch_block<Catch3>, detail::catch_block<Catch4>, detail::catch_block<Catch5>, detail::catch_block<Catch6>, detail::catch_block<Catch7> > > >, Args> {public: Args args;public: explicit lambda_functor_base(const Args& a) : args(a) {} template <class SigArgs> struct sig { typedef typename as_lambda_functor< typename boost::tuples::element<0, Args>::type >::type lf_type; typedef typename lf_type::inherited::template sig<SigArgs>::type type; }; template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const { try { return detail::select(::boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); } catch (Catch1& e) { return detail::return_or_throw<RET, typename ::boost::tuples::element<1, Args>::type> ::call(::boost::tuples::get<1>(args), CALL_ACTUAL_ARGS_NO_ENV, e); } catch (Catch2& e)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?