⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 util.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
//  Boost string_algo library util.hpp header file  ---------------------------////  Copyright Pavol Droba 2002-2003. 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)//  See http://www.boost.org for updates, documentation, and revision history.#ifndef BOOST_STRING_UTIL_DETAIL_HPP#define BOOST_STRING_UTIL_DETAIL_HPP#include <boost/algorithm/string/config.hpp>#include <functional>namespace boost {    namespace algorithm {        namespace detail {//  empty container  -----------------------------------------------//            //  empty_container             /*                This class represents always empty container,                containing elemets of type CharT.                It is supposed to be used in a const version only            */            template< typename CharT >            struct empty_container             {                typedef empty_container<CharT> type;                        typedef CharT value_type;                typedef std::size_t size_type;                typedef std::ptrdiff_t difference_type;                typedef const value_type& reference;                typedef const value_type& const_reference;                typedef const value_type* iterator;                typedef const value_type* const_iterator;                                // Operations                const_iterator begin() const                {                    return reinterpret_cast<const_iterator>(0);                }                const_iterator end() const                {                    return reinterpret_cast<const_iterator>(0);                }                bool empty() const                {                    return false;                }                size_type size() const                {                    return 0;                }            };    //  bounded copy algorithm  -----------------------------------------------//            // Bounded version of the std::copy algorithm            template<typename InputIteratorT, typename OutputIteratorT>            inline OutputIteratorT bounded_copy(                InputIteratorT First,                 InputIteratorT Last,                 OutputIteratorT DestFirst,                OutputIteratorT DestLast )            {                InputIteratorT InputIt=First;                OutputIteratorT OutputIt=DestFirst;                for(; InputIt!=Last && OutputIt!=DestLast; InputIt++, OutputIt++ )                {                    *OutputIt=*InputIt;                }                return OutputIt;            }//  iterator range utilities -----------------------------------------//            // copy range functor            template<                 typename SeqT,                 typename IteratorT=BOOST_STRING_TYPENAME SeqT::const_iterator >            struct copy_iterator_rangeF :                 public std::unary_function< iterator_range<IteratorT>, SeqT >            {                SeqT operator()( const iterator_range<IteratorT>& Range ) const                {                    return copy_iterator_range<SeqT>(Range);                }            };        } // namespace detail    } // namespace algorithm} // namespace boost#endif  // BOOST_STRING_UTIL_DETAIL_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -