![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Binary Little Endianness GeneratorsBoost , Spirit 2.5.2 , Binary Generators
|
Имя |
---|
|
|
|
|
|
![]() | Note |
---|---|
Генераторы |
Notation
w
16-битное двоичное значение илиЛенивый аргумент, который оценивает до 16-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.
dw
32-битное двоичное значение илиЛенивый аргумент, который оценивает до 32-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.
qw
64-битное двоичное значение илиЛенивый аргумент, который оценивает до 64-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.
f
Поплавковое двоичное значение илиЛенивый аргумент, который оценивает поплавковое двоичное значение. Это значение всегда интерпретируется с использованием родной эндианности.
d
Двойное двоичное значение илиЛенивый аргумент, который оценивает двойное двоичное значение. Это значение всегда интерпретируется с использованием родной эндианности.
Семантика выражения определяется только там, где она отличается отПримитивного Генератора
.
выражение |
Описание |
---|---|
| Выведите двоичное представление наименее значимых 16 бит обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление наименее значимых 32 битов обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление наименее значимых 64 битов обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление обязательного поплавкового атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление обязательного двойного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление наименее значимых 16 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление наименее значимых 32 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление наименее значимых 64 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление непосредственного поплавкового параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
| Выведите двоичное представление непосредственного двойного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке). |
выражение |
атрибут |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O(N), где N - число байтов, излучаемых двоичным генератором
![]() | Note |
---|---|
Испытательный ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые включают:
#include <boost/spirit/include/karma.hpp> #include <boost/spirit/include/support_utree.hpp> #include <boost/spirit/include/phoenix_core.hpp> #include <boost/spirit/include/phoenix_operator.hpp> #include <boost/fusion/include/std_pair.hpp> #include <iostream> #include <string>
Некоторые используют декларации:
using boost::spirit::karma::little_word; using boost::spirit::karma::little_dword; using boost::spirit::karma::little_qword;
Основное использование маленьких двоичных генераторов:
test_binary_generator("\x01\x02", 2, little_word(0x0201)); test_binary_generator("\x01\x02\x03\x04", 4, little_dword(0x04030201)); test_binary_generator("\x01\x02\x03\x04\x05\x06\x07\x08", 8, little_qword(0x0807060504030201LL)); test_binary_generator_attr("\x01\x02", 2, little_word, 0x0201); test_binary_generator_attr("\x01\x02\x03\x04", 4, little_dword, 0x04030201); test_binary_generator_attr("\x01\x02\x03\x04\x05\x06\x07\x08", 8, little_qword, 0x0807060504030201LL);
Статья Binary Little Endianness Generators раздела Spirit 2.5.2 Binary Generators может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Binary Generators ::
реклама |