formatter.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 95 行

HPP
95
字号
//  Boost string_algo library formatter.hpp header file  ---------------------------////  Copyright Pavol Droba 2002-2003.//// 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)//  See http://www.boost.org for updates, documentation, and revision history.#ifndef BOOST_STRING_FORMATTER_DETAIL_HPP#define BOOST_STRING_FORMATTER_DETAIL_HPP#include <boost/range/iterator_range.hpp>#include <boost/range/begin.hpp>#include <boost/range/end.hpp>#include <boost/range/const_iterator.hpp>#include <boost/algorithm/string/detail/util.hpp>//  generic replace functors -----------------------------------------------//namespace boost {    namespace algorithm {        namespace detail {//  const format functor ----------------------------------------------------//            // constant format functor            template<typename RangeT>            struct const_formatF            {            private:                typedef BOOST_STRING_TYPENAME                    range_const_iterator<RangeT>::type format_iterator;                typedef iterator_range<format_iterator> result_type;                        public:                // Construction                const_formatF(const RangeT& Format) :                    m_Format(::boost::begin(Format), ::boost::end(Format)) {}                // Operation#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))                template<typename Range2T>                result_type& operator()(const Range2T&)                {                    return m_Format;                }#endif                template<typename Range2T>                const result_type& operator()(const Range2T&) const                {                    return m_Format;                }            private:                result_type m_Format;            };//  identity format functor ----------------------------------------------------//            // identity format functor            template<typename RangeT>            struct identity_formatF            {                // Operation                template< typename Range2T >                const RangeT& operator()(const Range2T& Replace) const                {                    return RangeT(::boost::begin(Replace), ::boost::end(Replace));                }            };//  empty format functor ( used by erase ) ------------------------------------//                    // empty format functor            template< typename CharT >            struct empty_formatF            {                template< typename ReplaceT >                empty_container<CharT> operator()(const ReplaceT&) const                {                    return empty_container<CharT>();                }            };        } // namespace detail    } // namespace algorithm} // namespace boost#endif  // BOOST_STRING_FORMATTER_DETAIL_HPP

⌨️ 快捷键说明

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