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
 | 
						|
            >
 | 
						|
        {};
 | 
						|
     
 |