是否有适用于迭代器的数字解析函数?

Is there a function for number parsing which works on iterators?

在 C++ 或 Boost 中有没有一种方法可以解析直接在 wstring 迭代器上工作的数字(unsigned long long,如果可能)?它应该和 std::stoull.

一样快

Boost.Spirit has an iterator-based API。据我所知,它应该比标准字符串转换函数更快。

#include <iostream>
#include <string>
#include <boost/spirit/include/qi.hpp>

int main()
{
    namespace qi = boost::spirit::qi;

    std::wstring s(L"4398046511104");

    unsigned long long n = 0;
    qi::parse( begin(s), end(s), qi::ulong_long, n );

    std::cout << n << std::endl;
}

Live demo on Coliru.