533 lines
13 KiB
Plaintext
533 lines
13 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
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
|
|
>
|
|
{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <
|
|
typename Try
|
|
,
|
|
typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
|
|
>
|
|
struct try_catch<
|
|
Try
|
|
,
|
|
A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
|
|
>
|
|
: expr_ext<
|
|
try_catch_actor
|
|
, tag::try_catch
|
|
, Try
|
|
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
|
|
>
|
|
{};
|
|
|