52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | /////////////////////////////////////////////////////////////////////////////// | ||
|  | // foreach.hpp header file | ||
|  | // | ||
|  | // Copyright 2010 Eric Niebler. | ||
|  | // 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) | ||
|  | // See http://www.boost.org/libs/foreach for documentation | ||
|  | // | ||
|  | // Credits: | ||
|  | // Kazutoshi Satoda: for suggesting the need for a _fwd header for foreach's | ||
|  | //                      customization points. | ||
|  | 
 | ||
|  | #ifndef BOOST_FOREACH_FWD_HPP | ||
|  | #define BOOST_FOREACH_FWD_HPP | ||
|  | 
 | ||
|  | // This must be at global scope, hence the uglified name | ||
|  | enum boost_foreach_argument_dependent_lookup_hack | ||
|  | { | ||
|  |     boost_foreach_argument_dependent_lookup_hack_value | ||
|  | }; | ||
|  | 
 | ||
|  | namespace boost | ||
|  | { | ||
|  | 
 | ||
|  | namespace foreach | ||
|  | { | ||
|  |     /////////////////////////////////////////////////////////////////////////////// | ||
|  |     // boost::foreach::tag | ||
|  |     // | ||
|  |     typedef boost_foreach_argument_dependent_lookup_hack tag; | ||
|  | 
 | ||
|  |     /////////////////////////////////////////////////////////////////////////////// | ||
|  |     // boost::foreach::is_lightweight_proxy | ||
|  |     //   Specialize this for user-defined collection types if they are inexpensive to copy. | ||
|  |     //   This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. | ||
|  |     template<typename T> | ||
|  |     struct is_lightweight_proxy; | ||
|  | 
 | ||
|  |     /////////////////////////////////////////////////////////////////////////////// | ||
|  |     // boost::foreach::is_noncopyable | ||
|  |     //   Specialize this for user-defined collection types if they cannot be copied. | ||
|  |     //   This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. | ||
|  |     template<typename T> | ||
|  |     struct is_noncopyable; | ||
|  | 
 | ||
|  | } // namespace foreach | ||
|  | 
 | ||
|  | } // namespace boost | ||
|  | 
 | ||
|  | #endif |