Toolbox snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
Endian.cpp
Go to the documentation of this file.
1// The Reactive C++ Toolbox.
2// Copyright (C) 2013-2019 Swirly Cloud Limited
3// Copyright (C) 2021 Reactive Markets Limited
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
17#include "Endian.hpp"
18
19namespace toolbox {
20inline namespace net {
21using namespace std;
22
23static_assert(ntoh(hton(uint16_t{0x0102})) == uint16_t{0x0102});
24static_assert(ntoh(hton(int16_t{0x0102})) == int16_t{0x0102});
25static_assert(ntoh(hton(uint32_t{0x01020304})) == uint32_t{0x01020304});
26static_assert(ntoh(hton(int32_t{0x01020304})) == int32_t{0x01020304});
27static_assert(ntoh(hton(uint64_t{0x0102030405060708})) == uint64_t{0x0102030405060708});
28static_assert(ntoh(hton(int64_t{0x0102030405060708})) == int64_t{0x0102030405060708});
29
30static_assert(ltoh(htol(uint16_t{0x0102})) == uint16_t{0x0102});
31static_assert(ltoh(htol(int16_t{0x0102})) == int16_t{0x0102});
32static_assert(ltoh(htol(uint32_t{0x01020304})) == uint32_t{0x01020304});
33static_assert(ltoh(htol(int32_t{0x01020304})) == int32_t{0x01020304});
34static_assert(ltoh(htol(uint64_t{0x0102030405060708})) == uint64_t{0x0102030405060708});
35static_assert(ltoh(htol(int64_t{0x0102030405060708})) == int64_t{0x0102030405060708});
36
37} // namespace net
38} // namespace toolbox
STL namespace.
constexpr ValueT hton(ValueT n) noexcept
Definition Endian.hpp:40
constexpr ValueT ltoh(ValueT n) noexcept
Definition Endian.hpp:51
constexpr ValueT ntoh(ValueT n) noexcept
Definition Endian.hpp:29
constexpr ValueT htol(ValueT n) noexcept
Definition Endian.hpp:62
constexpr auto bind() noexcept
Definition Slot.hpp:97