Конструктор этого класса сам определяет на какой платформе осуществляется работа и должным образом выставляет указатели m_short_decoder, m_int_decoder, m_single_decoder, m_double_decoder.
Указатели на реальные преобразователи значений | |
| Все public-функции обращаются к функциям, указатели на которые содержатся в этих переменных. | |
| typedef void(*) | pfn_short_decoder_t (oess_1::short_t *p, size_t count) |
| typedef void(*) | pfn_int_decoder_t (oess_1::int_t *p, size_t count) |
| typedef void(*) | pfn_single_decoder_t (oess_1::single_t *p, size_t count) |
| typedef void(*) | pfn_double_decoder_t (oess_1::double_t *p, size_t count) |
| static pfn_short_decoder_t | m_short_decoder = &big_endian_decoder_t::little_endian |
| Указатель на функцию преобразования short. | |
| static pfn_int_decoder_t | m_int_decoder = &big_endian_decoder_t::little_endian |
| Указатель на функцию преобразования int. | |
| static pfn_single_decoder_t | m_single_decoder = &big_endian_decoder_t::little_endian |
| Указатель на функцию преобразования float. | |
| static pfn_double_decoder_t | m_double_decoder = &big_endian_decoder_t::little_endian |
| Указатель на функцию преобразования double. | |
Открытые члены | |
| big_endian_decoder_t () | |
| на данной платформе. | |
Открытые статические члены | |
Методы для выполнения преобразований | |
| static void | decode (oess_1::char_t *p, size_t count) |
| Ничего не делает. | |
| static void | decode (oess_1::schar_t *p, size_t count) |
| Ничего не делает. | |
| static void | decode (oess_1::uchar_t *p, size_t count) |
| Ничего не делает. | |
| static void | decode (oess_1::short_t *p, size_t count) |
| static void | decode (oess_1::ushort_t *p, size_t count) |
| static void | decode (oess_1::int_t *p, size_t count) |
| static void | decode (oess_1::uint_t *p, size_t count) |
| static void | decode (oess_1::single_t *p, size_t count) |
| static void | decode (oess_1::double_t *p, size_t count) |
Закрытые статические члены | |
Преобразователи для big-endian платформ | |
Все эти функции ничего не делают. Нужны для того, чтобы можно было взять указатели на функции выполнения преобразований на платформах, которые используют big-endian представление. | |
| static void | big_endian (oess_1::short_t *p, size_t count) |
| static void | big_endian (oess_1::int_t *p, size_t count) |
| static void | big_endian (oess_1::single_t *p, size_t count) |
| static void | big_endian (oess_1::double_t *p, size_t count) |
Преобразователи для little-endian платформ | |
Эти функции выполняют реальное преобразование данных. | |
| static void | little_endian (oess_1::short_t *p, size_t count) |
| static void | little_endian (oess_1::int_t *p, size_t count) |
| static void | little_endian (oess_1::single_t *p, size_t count) |
| static void | little_endian (oess_1::double_t *p, size_t count) |
| void decode | ( | oess_1::double_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_double_decoder.
| void decode | ( | oess_1::single_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_single_decoder.
| void decode | ( | oess_1::uint_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_int_decoder.
| void decode | ( | oess_1::int_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_int_decoder.
| void decode | ( | oess_1::ushort_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_short_decoder.
| void decode | ( | oess_1::short_t * | p, | |
| size_t | count | |||
| ) | [static] |
Вызывает функцию по указателю m_short_decoder.
1.4.7