📄 algorithm.hpp
字号:
#ifndef BOOST_ALGORITHM_RG071801_HPP#define BOOST_ALGORITHM_RG071801_HPP////// Copyright (c) 1994// Hewlett-Packard Company//// Permission to use, copy, modify, distribute and sell this software// and its documentation for any purpose is hereby granted without fee,// provided that the above copyright notice appear in all copies and// that both that copyright notice and this permission notice appear// in supporting documentation. Hewlett-Packard Company makes no// representations about the suitability of this software for any// purpose. It is provided "as is" without express or implied warranty.////// Copyright (c) 1996-1998// Silicon Graphics Computer Systems, Inc.//// Permission to use, copy, modify, distribute and sell this software// and its documentation for any purpose is hereby granted without fee,// provided that the above copyright notice appear in all copies and// that both that copyright notice and this permission notice appear// in supporting documentation. Silicon Graphics makes no// representations about the suitability of this software for any// purpose. It is provided "as is" without express or implied warranty.//// Copyright 2002 The Trustees of Indiana University.// 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)// Boost.MultiArray Library// Authors: Ronald Garcia// Jeremy Siek// Andrew Lumsdaine// See http://www.boost.org/libs/multi_array for documentation.#include "boost/iterator.hpp"namespace boost {//--------------------------------------------------// copy_n (not part of the C++ standard)#if 1template <class InputIter, class Size, class OutputIter>OutputIter copy_n(InputIter first, Size count, OutputIter result) { for ( ; count > 0; --count) { *result = *first; ++first; ++result; } return result;}#else // !1template <class InputIter, class Size, class OutputIter>OutputIter copy_n__(InputIter first, Size count, OutputIter result, std::input_iterator_tag) { for ( ; count > 0; --count) { *result = *first; ++first; ++result; } return result;}template <class RAIter, class Size, class OutputIter>inline OutputItercopy_n__(RAIter first, Size count, OutputIter result, std::random_access_iterator_tag) { RAIter last = first + count; return std::copy(first, last, result);}template <class InputIter, class Size, class OutputIter>inline OutputItercopy_n__(InputIter first, Size count, OutputIter result) { typedef typename std::iterator_traits<InputIter>::iterator_category cat; return copy_n__(first, count, result, cat());}template <class InputIter, class Size, class OutputIter>inline OutputItercopy_n(InputIter first, Size count, OutputIter result) { return copy_n__(first, count, result);}#endif // 1} // namespace boost#endif // BOOST_ALGORITHM_RG071801_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -