/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/byte_orders.h
58 строк
2 KB
pimenov-and
Перенос функциональности из старого проекта, в основном это описания узлов
19 июл 2026, 20:13
19 июл 2026, 20:13
cb3c51b
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Порядок байтов //////////////////////////////////////////////////////////////// #ifndef BYTE_ORDERS_H #define BYTE_ORDERS_H //============================================================== #include <QString> #include <QMetaType> #include <QVector> //============================================================== // Порядок байтов //============================================================== enum class ByteOrders { Unknown = -1, LittleEndian, BigEndian }; //============================================================== Q_DECLARE_METATYPE(ByteOrders) //============================================================== // Прототипы функций //============================================================== // Конвертация порядка байтов в строку [[nodiscard]] QString byteOrderToStr(ByteOrders order); // Конвертация строки в порядок байтов [[nodiscard]] ByteOrders strToByteOrder(const QString &str); // Конвертация порядка байтов в число [[nodiscard]] int byteOrderToInt(ByteOrders order) noexcept; // Конвертация числа в порядок байтов [[nodiscard]] ByteOrders intToByteOrder(int value) noexcept; // Получение признака ByteOrders::Unknown [[nodiscard]] constexpr inline bool isUnknown(ByteOrders order) noexcept { return order == ByteOrders::Unknown; } // Получение признака ByteOrders::LittleEndian [[nodiscard]] constexpr inline bool isLittleEndian(ByteOrders order) noexcept { return order == ByteOrders::LittleEndian; } // Получение признака ByteOrders::BigEndian [[nodiscard]] constexpr inline bool isBigEndian(ByteOrders order) noexcept { return order == ByteOrders::BigEndian; } // Получение значений порядка байтов [[nodiscard]] QVector<ByteOrders> byteOrderValues(); // Проверка корректности значения порядка байтов [[nodiscard]] bool isCorrect(ByteOrders order); //============================================================== #endif // BYTE_ORDERS_H