![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Signed Integer Parsers (int_, etc.)Boost , Spirit 2.5.2 , Numeric Parsers
|
Имя |
---|
|
boost::spirit::short_ //
alias: boost::spirit::qi::short_ |
|
|
|
![]() | Note |
---|---|
|
![]() | Note |
---|---|
|
template < typename T , unsigned Radix , unsigned MinDigits , int MaxDigits> struct int_parser;
Параметр |
Описание |
По умолчанию |
---|---|---|
| Числовой базовый тип числового парсера. | нет |
| База радикса. Это может быть любое основание от 2..10 и 16 | 10 |
| Минимальное допустимое количество цифр. | 1 |
| Максимальное допустимое количество цифр. Если это -1, то максимальный предел становится безграничным. | -1 |
Notation
n
Объект T
, числовой базовый тип.
num
Буквальное число, любое подписанное целочисленное значение или Lazy Argument, которое оценивает подписанное целочисленное значение.
Семантика выражения определяется только там, где она отличается от или не определена в PrimitiveParser
.
Выражение |
Семантика |
---|---|
short_ int_ long_ long_long
| Парсировать подписанное целое число с использованием радикса по умолчанию (10). |
lit(num) short_(num) int_(num) long_(num) long_long(num)
| Сопоставьте буквальный |
int_parser< T, Radix, MinDigits, MaxDigits >() int_parser< T, Radix, MinDigits, MaxDigits >() [ORIG_END] --> | Radix ,
минимум MinDigits
и максимум MaxDigits .
|
int_parser< T, Radix, MinDigits, MaxDigits >()(num) int_parser< T, Radix, MinDigits, MaxDigits >()(num) [ORIG_END] --> | Сопоставьте буквальный |
![]() | Important |
---|---|
Все цифровые парсеры проверяют условия переполнения на основе типа |
Выражение |
Атрибут |
---|---|
lit(num)
| |
short_ short_(num)
| |
int_ int_(num)
| |
long_ long_(num)
| |
long_long long_long(num) long_long long_long(num) [ORIG_END] --> | |
int_parser< T, Radix, MinDigits, MaxDigits >() int_parser< T, Radix, MinDigits, MaxDigits >()(num)
| |
O(N), где N - число разрезаемых цифр плюс знак.
T
Для типа числового основания T
требования к выражению должны быть действительными:
Выражение |
Семантика |
---|---|
| По умолчанию. |
| Построение из |
| Добавление. |
| Вычитание. |
| Умножение. |
| |
| Максимальные цифры для |
| Максимальные показатели для |
| Максимальное значение |
| Минимальное значение |
![]() | Note |
---|---|
Испытательный ремень для примера (примеров) ниже представлен в разделе Основные примеры. |
Некоторые используют декларации:
using boost::phoenix::val; using boost::spirit::qi::lit; using boost::spirit::qi::int_;
Основные подписанные целые числа:
// signed int test_parser("+12345", int_); test_parser("-12345", int_); test_parser("+12345", int_(12345)); test_parser("-12345", int_(-12345)); test_parser("+12345", int_(val(12345))); test_parser("-12345", int_(val(-12345))); // literals test_parser("+12345", lit(12345)); test_parser("-12345", lit(-12345)); test_parser("+12345", lit(val(12345))); test_parser("-12345", lit(val(-12345)));
Статья Signed Integer Parsers (int_, etc.) раздела Spirit 2.5.2 Numeric Parsers может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Numeric Parsers ::
реклама |