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