4#ifndef TETL_NET_BYTE_ORDER_HPP
5#define TETL_NET_BYTE_ORDER_HPP
7#include <etl/version.hpp>
9#include <etl/cstdint.hpp>
11namespace etl::experimental::
net {
13constexpr auto ntoh(T) -> T =
delete;
15constexpr auto ntoh(
char v)
noexcept ->
char
20constexpr auto ntoh(uint8_t v)
noexcept -> uint8_t
25constexpr auto ntoh(int8_t v)
noexcept -> int8_t
30constexpr auto ntoh(uint16_t v)
noexcept -> uint16_t
32 return uint16_t(v << uint16_t(8)) | uint16_t(v >> uint16_t(8));
35constexpr auto ntoh(uint32_t v)
noexcept -> uint32_t
37 auto const a = v << 24;
38 auto const b = (v & 0x0000FF00) << 8;
39 auto const c = (v & 0x00FF0000) >> 8;
40 auto const d = v >> 24;
46constexpr auto hton(T) -> T =
delete;
48constexpr auto hton(
char v)
noexcept ->
char
53constexpr auto hton(int8_t v)
noexcept -> int8_t
58constexpr auto hton(uint8_t v)
noexcept -> uint8_t
63constexpr auto hton(uint16_t v)
noexcept -> uint16_t
68constexpr auto hton(uint32_t v)
noexcept -> uint32_t
constexpr auto ntoh(char v) noexcept -> char
Definition byte_order.hpp:15
constexpr auto ntoh(uint16_t v) noexcept -> uint16_t
Definition byte_order.hpp:30
constexpr auto ntoh(T) -> T=delete
constexpr auto hton(T) -> T=delete
constexpr auto ntoh(int8_t v) noexcept -> int8_t
Definition byte_order.hpp:25
constexpr auto hton(uint8_t v) noexcept -> uint8_t
Definition byte_order.hpp:58
constexpr auto hton(char v) noexcept -> char
Definition byte_order.hpp:48
constexpr auto ntoh(uint8_t v) noexcept -> uint8_t
Definition byte_order.hpp:20
constexpr auto ntoh(uint32_t v) noexcept -> uint32_t
Definition byte_order.hpp:35
constexpr auto hton(uint16_t v) noexcept -> uint16_t
Definition byte_order.hpp:63
constexpr auto hton(int8_t v) noexcept -> int8_t
Definition byte_order.hpp:53
constexpr auto hton(uint32_t v) noexcept -> uint32_t
Definition byte_order.hpp:68
Definition adjacent_find.hpp:9