mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-25 01:50:30 -04:00 
			
		
		
		
	
		
			
	
	
		
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
|  | .. Copyright David Abrahams 2004. Use, modification and distribution is
 | ||
|  | .. subject to 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 <class Dereferenceable>
 | ||
|  |   struct indirect_reference
 | ||
|  |   {
 | ||
|  |       typedef /* see below */ type;
 | ||
|  |   };
 | ||
|  | 
 | ||
|  | :Requires: For an object ``x`` of type ``Dereferenceable``, ``*x``
 | ||
|  |   is well-formed.  If ``++x`` is ill-formed it shall neither be
 | ||
|  |   ambiguous nor shall it violate access control, and
 | ||
|  |   ``pointee<Dereferenceable>::type&`` shall be well-formed.
 | ||
|  |   Otherwise ``iterator_traits<Dereferenceable>::reference`` shall
 | ||
|  |   be well formed.  [Note: These requirements need not apply to
 | ||
|  |   explicit or partial specializations of ``indirect_reference``]
 | ||
|  | 
 | ||
|  | ``type`` is determined according to the following algorithm, where
 | ||
|  | ``x`` is an object of type ``Dereferenceable``::
 | ||
|  | 
 | ||
|  |   if ( ++x is ill-formed )
 | ||
|  |       return ``pointee<Dereferenceable>::type&``
 | ||
|  |   else
 | ||
|  |       std::iterator_traits<Dereferenceable>::reference
 | ||
|  | 
 | ||
|  |   
 |