formatter.hpp

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

HPP
104
字号
//  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_HPP#define BOOST_STRING_FORMATTER_HPP#include <boost/detail/iterator.hpp>#include <boost/range/value_type.hpp>#include <boost/range/iterator_range.hpp>#include <boost/range/as_literal.hpp>#include <boost/algorithm/string/detail/formatter.hpp>/*! \file    Defines Formatter generators. Formatter is a functor which formats    a string according to given parameters. A Formatter works    in conjunction with a Finder. A Finder can provide additional information    for a specific Formatter. An example of such a cooperation is regex_finder    and regex_formatter.    Formatters are used as pluggable components for replace facilities.     This header contains generator functions for the Formatters provided in this library.*/namespace boost {    namespace algorithm {// generic formatters  ---------------------------------------------------------------//        //! Constant formatter        /*!            Construct the \c const_formatter. Const formatter always returns            the same value, regardless of the parameter.            \param Format A predefined value used as a result for formating            \return An instance of the \c const_formatter object.        */        template<typename RangeT>        inline detail::const_formatF<            iterator_range<                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >        const_formatter(const RangeT& Format)        {            return detail::const_formatF<                iterator_range<                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(as_literal(Format));        }        //! Identity formatter        /*!            Construct the \c identity_formatter. Identity formatter always returns            the parameter.            \return An instance of the \c identity_formatter object.        */        template<typename RangeT>        inline detail::identity_formatF<            iterator_range<                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >        identity_formatter()        {            return detail::identity_formatF<                iterator_range<                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();        }        //! Empty formatter        /*!            Construct the \c empty_formatter. Empty formatter always returns an empty            sequence.             \param Input container used to select a correct value_type for the                         resulting empty_container<>.            \return An instance of the \c empty_formatter object.        */        template<typename RangeT>        inline detail::empty_formatF<             BOOST_STRING_TYPENAME range_value<RangeT>::type>        empty_formatter(const RangeT&)        {            return detail::empty_formatF<                BOOST_STRING_TYPENAME range_value<RangeT>::type>();        }    } // namespace algorithm    // pull the names to the boost namespace    using algorithm::const_formatter;    using algorithm::identity_formatter;    using algorithm::empty_formatter;} // namespace boost#endif  // BOOST_FORMATTER_HPP

⌨️ 快捷键说明

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