forked from boostorg/algorithm
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* 
 | |
|    Copyright (c) Marshall Clow 2011-2012.
 | |
| 
 | |
|    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)
 | |
| */
 | |
| 
 | |
| /// \file  copy_n.hpp
 | |
| /// \brief Copy n items from one sequence to another
 | |
| /// \author Marshall Clow
 | |
| 
 | |
| #ifndef BOOST_ALGORITHM_COPY_N_HPP
 | |
| #define BOOST_ALGORITHM_COPY_N_HPP
 | |
| 
 | |
| namespace boost { namespace algorithm {
 | |
| 
 | |
| /// \fn copy_n ( InputIterator first, Size n, OutputIterator result )
 | |
| /// \brief Copies exactly n (n > 0) elements from the range starting at first to
 | |
| ///     the range starting at result.
 | |
| /// \return         The updated output iterator
 | |
| /// 
 | |
| /// \param first    The start of the input sequence
 | |
| /// \param n        The number of elements to copy
 | |
| /// \param result   An output iterator to write the results into
 | |
| /// \note           This function is part of the C++2011 standard library.
 | |
| template <typename InputIterator, typename Size, typename OutputIterator>
 | |
| BOOST_CXX14_CONSTEXPR OutputIterator copy_n ( InputIterator first, Size n, OutputIterator result )
 | |
| {
 | |
|     for ( ; n > 0; --n, ++first, ++result )
 | |
|         *result = *first;
 | |
|     return result;
 | |
| }
 | |
| }} // namespace boost and algorithm
 | |
| 
 | |
| #endif  // BOOST_ALGORITHM_COPY_IF_HPP
 |