我的问题是我有一个存储在std :: string中的utf8格式的缓冲区。我希望将它作为一种提升精神的智慧流。如何在不将整个std :: string转换为std :: wstring的情况下完成。我想有一个流作为从utf8到系统上任何wchar_t的只读视图。
答案 0 :(得分:1)
您可以使用u8_to_u32_iterator
。 wchar_t
对所有角色都不够。您也可以传递int32
迭代器来提升精神函数,或者只编写一个包装器,它会将int32
迭代器转换为wchar_t
迭代器。或者为此目的使用u32_to_u16_iterator
。
http://www.boost.org/doc/libs/1_53_0/libs/regex/doc/html/boost_regex/ref/internal_details/uni_iter.html