283 lines
5.6 KiB
Plaintext
283 lines
5.6 KiB
Plaintext
/*==============================================================================
|
|
Copyright (c) 2005-2010 Joel de Guzman
|
|
Copyright (c) 2010 Thomas Heller
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
==============================================================================*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
|
|
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
|
|
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
|
|
>
|
|
{};
|
|
|