mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | 
 | ||
|  | [section:traits Iterator Traits] | ||
|  | 
 | ||
|  | `std::iterator_traits` provides access to five associated types | ||
|  | of any iterator: its `value_type`, `reference`, `pointer`, | ||
|  | `iterator_category`, and `difference_type`.  Unfortunately, | ||
|  | such a "multi-valued" traits template can be difficult to use in a | ||
|  | metaprogramming context.  `<boost/iterator/iterator_traits.hpp>` | ||
|  | provides access to these types using a standard metafunctions_. | ||
|  | 
 | ||
|  | [h2 Synopsis] | ||
|  | 
 | ||
|  | Header `<boost/iterator/iterator_traits.hpp>`: | ||
|  | 
 | ||
|  |   template <class Iterator> | ||
|  |   struct iterator_value | ||
|  |   { | ||
|  |       typedef typename  | ||
|  |         std::iterator_traits<Iterator>::value_type  | ||
|  |       type; | ||
|  |   }; | ||
|  | 
 | ||
|  |   template <class Iterator> | ||
|  |   struct iterator_reference | ||
|  |   { | ||
|  |       typedef typename  | ||
|  |         std::iterator_traits<Iterator>::reference | ||
|  |       type; | ||
|  |   }; | ||
|  | 
 | ||
|  |   template <class Iterator> | ||
|  |   struct iterator_pointer | ||
|  |   { | ||
|  |       typedef typename  | ||
|  |         std::iterator_traits<Iterator>::pointer  | ||
|  |       type; | ||
|  |   }; | ||
|  | 
 | ||
|  |   template <class Iterator> | ||
|  |   struct iterator_difference | ||
|  |   { | ||
|  |       typedef typename | ||
|  |         detail::iterator_traits<Iterator>::difference_type | ||
|  |       type; | ||
|  |   }; | ||
|  | 
 | ||
|  |   template <class Iterator> | ||
|  |   struct iterator_category | ||
|  |   { | ||
|  |       typedef typename | ||
|  |         detail::iterator_traits<Iterator>::iterator_category | ||
|  |       type; | ||
|  |   }; | ||
|  | 
 | ||
|  | [endsect] |