75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | //  lambda_fwd.hpp - Boost Lambda Library ------------------------------- | ||
|  | 
 | ||
|  | // Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) | ||
|  | // | ||
|  | // 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) | ||
|  | // | ||
|  | // For more information, see www.boost.org | ||
|  | 
 | ||
|  | // ------------------------------------------------------- | ||
|  | 
 | ||
|  | #ifndef BOOST_LAMBDA_FWD_HPP | ||
|  | #define BOOST_LAMBDA_FWD_HPP | ||
|  | 
 | ||
|  | namespace boost {  | ||
|  | namespace lambda {  | ||
|  | 
 | ||
|  | namespace detail { | ||
|  | 
 | ||
|  | template<class T> struct generate_error; | ||
|  | 
 | ||
|  | }    | ||
|  | // -- placeholders -------------------------------------------- | ||
|  | 
 | ||
|  | template <int I> struct placeholder; | ||
|  | 
 | ||
|  | // function_adaptors | ||
|  | template <class Func>  | ||
|  | struct function_adaptor; | ||
|  | 
 | ||
|  | template <int I, class Act> class action; | ||
|  | 
 | ||
|  | template <class Base>  | ||
|  | class lambda_functor; | ||
|  | 
 | ||
|  | template <class Act, class Args>  | ||
|  | class lambda_functor_base; | ||
|  | 
 | ||
|  | } // namespace lambda | ||
|  | } // namespace boost | ||
|  | 
 | ||
|  | 
 | ||
|  | //  #define CALL_TEMPLATE_ARGS class A, class Env | ||
|  | //  #define CALL_FORMAL_ARGS A& a, Env& env | ||
|  | //  #define CALL_ACTUAL_ARGS a, env | ||
|  | //  #define CALL_ACTUAL_ARGS_NO_ENV a | ||
|  | //  #define CALL_REFERENCE_TYPES A&, Env& | ||
|  | //  #define CALL_PLAIN_TYPES A, Env | ||
|  | #define CALL_TEMPLATE_ARGS class A, class B, class C, class Env | ||
|  | #define CALL_FORMAL_ARGS A& a, B& b, C& c, Env& env | ||
|  | #define CALL_ACTUAL_ARGS a, b, c, env | ||
|  | #define CALL_ACTUAL_ARGS_NO_ENV a, b, c | ||
|  | #define CALL_REFERENCE_TYPES A&, B&, C&, Env& | ||
|  | #define CALL_PLAIN_TYPES A, B, C, Env | ||
|  | 
 | ||
|  | namespace boost { | ||
|  | namespace lambda { | ||
|  | namespace detail { | ||
|  | 
 | ||
|  | template<class A1, class A2, class A3, class A4> | ||
|  | void do_nothing(A1&, A2&, A3&, A4&) {} | ||
|  | 
 | ||
|  | } // detail | ||
|  | } // lambda | ||
|  | } // boost | ||
|  | 
 | ||
|  | // prevent the warnings from unused arguments | ||
|  | #define CALL_USE_ARGS \ | ||
|  | ::boost::lambda::detail::do_nothing(a, b, c, env) | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif |