Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Binary Little Endianness Generators

Boost , Spirit 2.5.2 , Binary Generators

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Description

Маленькие генераторы нативной эндианности, описанные в этом разделе, используются для излучения бинарных байтовых потоков, выложенных в соответствии с малым байтовым порядком эндианности.

Header
// forwards to <boost/spirit/home/karma/binary.hpp>
#include <boost/spirit/include/karma_binary.hpp>

См. такжеВключить структуру.

Namespace

Имя

Усиление:Дух:little_word// alias: boost::spirit::karma::little_word

повышение::дух::маленькое_слово// псевдоним: повышение::дух::карма::маленькое_слово

повышение::дух::маленькое_qword// псевдоним: повышение::spirit::karma:: Little_qword

бустер::дух::маленький_бин_плавает// псевдоним: бустер::дух::карма::маленький_бин_плавает

повышение::дух::маленький_бин_дубль// псевдоним: повышение::дух::карма::маленький_бин_дубль

[Note]Note

Генераторыlittle_qwordиlittle_qwordqwдоступны только на платформах, где определена постоянная препроцессораBOOST_HAS_LONG_LONG(т.е. на платформах, имеющих нативную поддержкунеподписанныхдлинныхдлинных(64 бит) целых типов).

Model of

Notation

w

16-битное двоичное значение илиЛенивый аргумент, который оценивает до 16-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.

dw

32-битное двоичное значение илиЛенивый аргумент, который оценивает до 32-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.

qw

64-битное двоичное значение илиЛенивый аргумент, который оценивает до 64-битного двоичного значения. Это значение всегда интерпретируется с использованием родной эндианности.

f

Поплавковое двоичное значение илиЛенивый аргумент, который оценивает поплавковое двоичное значение. Это значение всегда интерпретируется с использованием родной эндианности.

d

Двойное двоичное значение илиЛенивый аргумент, который оценивает двойное двоичное значение. Это значение всегда интерпретируется с использованием родной эндианности.

Expression Semantics

Семантика выражения определяется только там, где она отличается отПримитивного Генератора.

выражение

Описание

Little_word

Выведите двоичное представление наименее значимых 16 бит обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Little_dword

Выведите двоичное представление наименее значимых 32 битов обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Little_qword

Выведите двоичное представление наименее значимых 64 битов обязательного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Little_bin_float

Выведите двоичное представление обязательного поплавкового атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Little_bin_double

Выведите двоичное представление обязательного двойного атрибута в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

little_wordw

Выведите двоичное представление наименее значимых 16 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

little_dworddw

Выведите двоичное представление наименее значимых 32 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Little_qwordqw

Выведите двоичное представление наименее значимых 64 битов непосредственного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

little_bin_floatf

Выведите двоичное представление непосредственного поплавкового параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

little_bin_doubled

Выведите двоичное представление непосредственного двойного параметра в малом эндианном представлении. Этот генератор никогда не выходит из строя (если основной выходной поток не сообщает об ошибке).

Attributes

выражение

атрибут

Little_word

boost::uint_least16_t, атрибут является обязательным (иначе компиляция выйдет из строя)

Little_dword

boost::uint_least32_t, атрибут является обязательным (иначе компиляция выйдет из строя)

Little_qword

boost::uint_least64_t, атрибут является обязательным (иначе компиляция выйдет из строя)

Little_bin_float

float, атрибут является обязательным (иначе компиляция выйдет из строя)

Little_bin_double

двойной, атрибут является обязательным (иначе компиляция выйдет из строя)

little_wordw

неиспользованный

little_dworddw

неиспользованный

Little_qwordqw

неиспользованный

little_bin_floatf

неиспользованный

little_bin_doubled

неиспользованный

Complexity

O(N), где N - число байтов, излучаемых двоичным генератором

Example
[Note]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);


PrevUpHomeNext

Статья Binary Little Endianness Generators раздела Spirit 2.5.2 Binary Generators может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Binary Generators ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 01:19:17/0.0045831203460693/0