x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
find_format.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\algorithm\string\detail\find_format.hpp
旋转
特效
属性
历史版本
// Boost string_algo library find_format.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_FIND_FORMAT_DETAIL_HPP #define BOOST_STRING_FIND_FORMAT_DETAIL_HPP #include
#include
#include
#include
#include
#include
namespace boost { namespace algorithm { namespace detail { // find_format_copy (iterator variant) implementation -------------------------------// template< typename OutputIteratorT, typename InputT, typename FormatterT, typename FindResultT > inline OutputIteratorT find_format_copy_impl( OutputIteratorT Output, const InputT& Input, FormatterT Formatter, const FindResultT& FindResult ) { return find_format_copy_impl2( Output, Input, Formatter, FindResult, Formatter(FindResult) ); } template< typename OutputIteratorT, typename InputT, typename FormatterT, typename FindResultT, typename FormatResultT > inline OutputIteratorT find_format_copy_impl2( OutputIteratorT Output, const InputT& Input, FormatterT Formatter, const FindResultT& FindResult, const FormatResultT& FormatResult ) { typedef find_format_store< BOOST_STRING_TYPENAME range_const_iterator
::type, FormatterT, FormatResultT > store_type; // Create store for the find result store_type M( FindResult, FormatResult, Formatter ); if ( !M ) { // Match not found - return original sequence std::copy( begin(Input), end(Input), Output ); return Output; } // Copy the beginning of the sequence std::copy( begin(Input), begin(M), Output ); // Format find result // Copy formated result std::copy( begin(M.format_result()), end(M.format_result()), Output ); // Copy the rest of the sequence std::copy( M.end(), end(Input), Output ); return Output; } // find_format_copy implementation --------------------------------------------------// template< typename InputT, typename FormatterT, typename FindResultT > inline InputT find_format_copy_impl( const InputT& Input, FormatterT Formatter, const FindResultT& FindResult) { return find_format_copy_impl2( Input, Formatter, FindResult, Formatter(FindResult) ); } template< typename InputT, typename FormatterT, typename FindResultT, typename FormatResultT > inline InputT find_format_copy_impl2( const InputT& Input, FormatterT Formatter, const FindResultT& FindResult, const FormatResultT& FormatResult) { typedef find_format_store< BOOST_STRING_TYPENAME range_const_iterator
::type, FormatterT, FormatResultT > store_type; // Create store for the find result store_type M( FindResult, FormatResult, Formatter ); if ( !M ) { // Match not found - return original sequence return InputT( Input ); } InputT Output; // Copy the beginning of the sequence insert( Output, end(Output), begin(Input), M.begin() ); // Copy formated result insert( Output, end(Output), M.format_result() ); // Copy the rest of the sequence insert( Output, end(Output), M.end(), end(Input) ); return Output; } // replace implementation ----------------------------------------------------// template< typename InputT, typename FormatterT, typename FindResultT > inline void find_format_impl( InputT& Input, FormatterT Formatter, const FindResultT& FindResult) { find_format_impl2( Input, Formatter, FindResult, Formatter(FindResult) ); } template< typename InputT, typename FormatterT, typename FindResultT, typename FormatResultT > inline void find_format_impl2( InputT& Input, FormatterT Formatter, const FindResultT& FindResult, const FormatResultT& FormatResult) { typedef find_format_store< BOOST_STRING_TYPENAME range_iterator
::type, FormatterT, FormatResultT > store_type; // Create store for the find result store_type M( FindResult, FormatResult, Formatter ); if ( !M ) { // Search not found - return original sequence return; } // Replace match replace( Input, M.begin(), M.end(), M.format_result() ); } } // namespace detail } // namespace algorithm } // namespace boost #endif // BOOST_STRING_FIND_FORMAT_DETAIL_HPP
find_format.hpp
网页地址
文件地址
上一页
3/15
下一页
下载
( 6 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.