Мне нужно написать код для проекта MFC, но я не знаю, как заставить требуемый код работать при использовании MFC.
Сначала я прототипировал свою функцию, используя только типы STL, и выполнял повышение.
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);
}
Result = "Hello"
В конце концов мне удалось заставить его работать с MFC, однако мне пришлось предоставить две typedef. Я хотел бы сделать это в одном, однако документации по использованию порта MFC, предоставленной в boost, не так много.
#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, вместо того, чтобы требовать две typedef для его достижения.