我需要为MFC项目编写一些代码,但我不知道如何在使用MFC时获得所需的代码。
我首先使用STL类型原型化我的函数,然后使用boost。
STL原型
#include <string>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/find.hpp>
void ProtoTest()
{
std::string sText("123Hello4");
boost::iterator_range<std::string::iterator> nc_result = find_token(sText, boost::algorithm::is_alpha(), boost::algorithm ::token_compress_on);
}
结果=“你好”
我最终成功地使用了MFC,但是我必须提供两个typedef。我想在一个中完成,但是没有太多关于使用boost中提供的MFC端口的文档。
#include "stdafx.h"
#include <boost\range\atl.hpp>
void Test()
{
typedef boost::range_iterator<CString>::type CString_it;
typedef boost::iterator_range<CString_it> CString_range;
CString strText("123Hello4");
CString_range r;
r = find_token(text, boost::algorithm::is_alpha(), boost::algorithm ::token_compress_on);
}
再次结果=“你好”
我是否可以使用一个typedef来保存find_token的结果,而不是需要两个typdef来实现它。
答案 0 :(得分:1)
你可以把它们组合起来
typedef boost::iterator_range<boost::range_iterator<CString>::type> CString_range;
但我不知道这是否有利。