Statistics
| Revision:

root / tmp / org.txm.statsengine.r.core.win32 / res / win32 / library / BH / include / boost / algorithm / cxx11 / copy_n.hpp @ 2486

History | View | Annotate | Download (1.4 kB)

1
/* 
2
   Copyright (c) Marshall Clow 2011-2012.
3

4
   Distributed under the Boost Software License, Version 1.0. (See accompanying
5
   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
*/
7

    
8
/// \file  copy_n.hpp
9
/// \brief Copy n items from one sequence to another
10
/// \author Marshall Clow
11

    
12
#ifndef BOOST_ALGORITHM_COPY_N_HPP
13
#define BOOST_ALGORITHM_COPY_N_HPP
14

    
15
#include <algorithm>    // for std::copy_n, if available
16

    
17
namespace boost { namespace algorithm {
18

    
19
/// \fn copy_n ( InputIterator first, Size n, OutputIterator result )
20
/// \brief Copies exactly n (n > 0) elements from the range starting at first to
21
///     the range starting at result.
22
/// \return         The updated output iterator
23
/// 
24
/// \param first    The start of the input sequence
25
/// \param n        The number of elements to copy
26
/// \param result   An output iterator to write the results into
27
/// \note           This function is part of the C++2011 standard library.
28
///  We will use the standard one if it is available, 
29
///     otherwise we have our own implementation.
30
template <typename InputIterator, typename Size, typename OutputIterator>
31
OutputIterator copy_n ( InputIterator first, Size n, OutputIterator result )
32
{
33
    for ( ; n > 0; --n, ++first, ++result )
34
        *result = *first;
35
    return result;
36
}
37
}} // namespace boost and algorithm
38

    
39
#endif  // BOOST_ALGORITHM_COPY_IF_HPP