Есть ли функция для разбора чисел, которая работает на итераторах?

Есть ли способ в C ++ или Boost для разбора числа (unsigned long longесли возможно) который работает непосредственно на wstring итераторы? Это должно быть так быстро, как std::stoull,

0

Решение

Boost.Spirit имеет 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;
}

Живая демоверсия на Coliru.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]