replace.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 929 行 · 第 1/3 页

HPP
929
字号
        //! Replace all algorithm        /*!            \overload        */        template<typename SequenceT, typename Range1T, typename Range2T>        inline SequenceT replace_all_copy(             const SequenceT& Input,            const Range1T& Search,            const Range2T& Format )        {            return find_format_all_copy(                 Input,                first_finder(Search),                const_formatter(Format) );        }        //! Replace all algorithm        /*!            Replace all occurrences of the search string in the input             with the format string. The input sequence is modified in-place.            \param Input An input string            \param Search A substring to be searched for             \param Format A substitute string            \return A reference to the modified input        */        template<typename SequenceT, typename Range1T, typename Range2T>        inline void replace_all(             SequenceT& Input,            const Range1T& Search,            const Range2T& Format )        {            find_format_all(                 Input,                 first_finder(Search),                const_formatter(Format) );        }        //  replace_all ( case insensitive ) -----------------------------------------------//        //! Replace all algorithm ( case insensitive )        /*!            Replace all occurrences of the search string in the input             with the format string.             The result is a modified copy of the input. It is returned as a sequence             or copied to the output iterator.            Searching is case insensitive.            \param Output An output iterator to which the result will be copied            \param Input An input string            \param Search A substring to be searched for             \param Format A substitute string            \param Loc A locale used for case insensitive comparison            \return An output iterator pointing just after the last inserted character or                    a modified copy of the input             \note The second variant of this function provides the strong exception-safety guarantee        */        template<            typename OutputIteratorT,            typename Range1T,             typename Range2T,            typename Range3T>        inline OutputIteratorT ireplace_all_copy(            OutputIteratorT Output,            const Range1T& Input,            const Range2T& Search,            const Range3T& Format,            const std::locale& Loc=std::locale() )        {            return find_format_all_copy(                Output,                Input,                first_finder(Search, is_iequal(Loc)),                const_formatter(Format) );        }        //! Replace all algorithm ( case insensitive )        /*!            \overload        */        template<typename SequenceT, typename Range1T, typename Range2T>        inline SequenceT ireplace_all_copy(             const SequenceT& Input,            const Range1T& Search,            const Range2T& Format,            const std::locale& Loc=std::locale() )        {            return find_format_all_copy(                 Input,                first_finder(Search, is_iequal(Loc)),                const_formatter(Format) );        }        //! Replace all algorithm ( case insensitive )        /*!            Replace all occurrences of the search string in the input             with the format string.The input sequence is modified in-place.            Searching is case insensitive.            \param Input An input string            \param Search A substring to be searched for             \param Format A substitute string            \param Loc A locale used for case insensitive comparison        */        template<typename SequenceT, typename Range1T, typename Range2T>        inline void ireplace_all(             SequenceT& Input,            const Range1T& Search,            const Range2T& Format,            const std::locale& Loc=std::locale() )        {            find_format_all(                 Input,                 first_finder(Search, is_iequal(Loc)),                const_formatter(Format) );        }        //  replace_head --------------------------------------------------------------------//        //! Replace head algorithm        /*!            Replace the head of the input with the given format string.             The head is a prefix of a string of given size.             If the sequence is shorter then required, whole string if             considered to be the head.             The result is a modified copy of the input. It is returned as a sequence             or copied to the output iterator.                        \param Output An output iterator to which the result will be copied            \param Input An input string            \param N Length of the head.                For N>=0, at most N characters are extracted.                For N<0, size(Input)-|N| characters are extracted.            \param Format A substitute string            \return An output iterator pointing just after the last inserted character or                a modified copy of the input              \note The second variant of this function provides the strong exception-safety guarantee        */        template<            typename OutputIteratorT,            typename Range1T,             typename Range2T>        inline OutputIteratorT replace_head_copy(            OutputIteratorT Output,            const Range1T& Input,            int N,            const Range2T& Format )        {            return find_format_copy(                Output,                Input,                head_finder(N),                const_formatter(Format) );        }        //! Replace head algorithm        /*!            \overload        */        template<typename SequenceT, typename RangeT>        inline SequenceT replace_head_copy(             const SequenceT& Input,            int N,            const RangeT& Format )        {            return find_format_copy(                 Input,                head_finder(N),                const_formatter(Format) );        }        //! Replace head algorithm        /*!            Replace the head of the input with the given format string.             The head is a prefix of a string of given size.             If the sequence is shorter then required, the whole string is             considered to be the head. The input sequence is modified in-place.            \param Input An input string            \param N Length of the head.                For N>=0, at most N characters are extracted.                For N<0, size(Input)-|N| characters are extracted.            \param Format A substitute string        */        template<typename SequenceT, typename RangeT>        inline void replace_head(             SequenceT& Input,            int N,            const RangeT& Format )        {            find_format(                 Input,                 head_finder(N),                const_formatter(Format) );        }//  replace_tail --------------------------------------------------------------------//        //! Replace tail algorithm        /*!            Replace the tail of the input with the given format string.             The tail is a suffix of a string of given size.             If the sequence is shorter then required, whole string is             considered to be the tail.             The result is a modified copy of the input. It is returned as a sequence             or copied to the output iterator.            \param Output An output iterator to which the result will be copied            \param Input An input string            \param N Length of the tail.                For N>=0, at most N characters are extracted.                For N<0, size(Input)-|N| characters are extracted.            \param Format A substitute string            \return An output iterator pointing just after the last inserted character or                    a modified copy of the input                 \note The second variant of this function provides the strong exception-safety guarantee        */        template<            typename OutputIteratorT,            typename Range1T,             typename Range2T>        inline OutputIteratorT replace_tail_copy(            OutputIteratorT Output,            const Range1T& Input,            int N,            const Range2T& Format )        {            return find_format_copy(                Output,                Input,                tail_finder(N),                const_formatter(Format) );        }        //! Replace tail algorithm        /*!            \overload        */        template<typename SequenceT, typename RangeT>        inline SequenceT replace_tail_copy(             const SequenceT& Input,            int N,            const RangeT& Format )        {            return find_format_copy(                 Input,                tail_finder(N),                const_formatter(Format) );        }        //! Replace tail algorithm        /*!            Replace the tail of the input with the given format sequence.             The tail is a suffix of a string of given size.             If the sequence is shorter then required, the whole string is             considered to be the tail. The input sequence is modified in-place.            \param Input An input string            \param N Length of the tail.                For N>=0, at most N characters are extracted.                For N<0, size(Input)-|N| characters are extracted.            \param Format A substitute string        */        template<typename SequenceT, typename RangeT>        inline void replace_tail(             SequenceT& Input,            int N,            const RangeT& Format )        {            find_format(                 Input,                 tail_finder(N),                const_formatter(Format) );        }    } // namespace algorithm    // pull names to the boost namespace    using algorithm::replace_range_copy;    using algorithm::replace_range;    using algorithm::replace_first_copy;    using algorithm::replace_first;    using algorithm::ireplace_first_copy;    using algorithm::ireplace_first;    using algorithm::replace_last_copy;    using algorithm::replace_last;    using algorithm::ireplace_last_copy;    using algorithm::ireplace_last;    using algorithm::replace_nth_copy;    using algorithm::replace_nth;    using algorithm::ireplace_nth_copy;    using algorithm::ireplace_nth;    using algorithm::replace_all_copy;    using algorithm::replace_all;    using algorithm::ireplace_all_copy;    using algorithm::ireplace_all;    using algorithm::replace_head_copy;    using algorithm::replace_head;    using algorithm::replace_tail_copy;    using algorithm::replace_tail;} // namespace boost#endif  // BOOST_REPLACE_HPP

⌨️ 快捷键说明

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