Toolbox
snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
toolbox
net
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
19
namespace
toolbox
{
20
inline
namespace
net {
21
using namespace
std
;
22
23
static_assert
(
bswap
(
uint16_t
{0x0102}) ==
uint16_t
{0x0201});
24
static_assert
(
bswap
(
int16_t
{0x0102}) ==
int16_t
{0x0201});
25
static_assert
(
bswap
(
uint32_t
{0x01020304}) ==
uint32_t
{0x04030201});
26
static_assert
(
bswap
(
int32_t
{0x01020304}) ==
int32_t
{0x04030201});
27
static_assert
(
bswap
(
uint64_t
{0x0102030405060708}) ==
uint64_t
{0x0807060504030201});
28
static_assert
(
bswap
(
int64_t
{0x0102030405060708}) ==
int64_t
{0x0807060504030201});
29
30
static_assert
(
ntoh
(
hton
(
uint16_t
{0x0102})) ==
uint16_t
{0x0102});
31
static_assert
(
ntoh
(
hton
(
int16_t
{0x0102})) ==
int16_t
{0x0102});
32
static_assert
(
ntoh
(
hton
(
uint32_t
{0x01020304})) ==
uint32_t
{0x01020304});
33
static_assert
(
ntoh
(
hton
(
int32_t
{0x01020304})) ==
int32_t
{0x01020304});
34
static_assert
(
ntoh
(
hton
(
uint64_t
{0x0102030405060708})) ==
uint64_t
{0x0102030405060708});
35
static_assert
(
ntoh
(
hton
(
int64_t
{0x0102030405060708})) ==
int64_t
{0x0102030405060708});
36
37
static_assert
(
ltoh
(
htol
(
uint16_t
{0x0102})) ==
uint16_t
{0x0102});
38
static_assert
(
ltoh
(
htol
(
int16_t
{0x0102})) ==
int16_t
{0x0102});
39
static_assert
(
ltoh
(
htol
(
uint32_t
{0x01020304})) ==
uint32_t
{0x01020304});
40
static_assert
(
ltoh
(
htol
(
int32_t
{0x01020304})) ==
int32_t
{0x01020304});
41
static_assert
(
ltoh
(
htol
(
uint64_t
{0x0102030405060708})) ==
uint64_t
{0x0102030405060708});
42
static_assert
(
ltoh
(
htol
(
int64_t
{0x0102030405060708})) ==
int64_t
{0x0102030405060708});
43
44
}
// namespace net
45
}
// namespace toolbox
Endian.hpp
std
STL namespace.
toolbox::net::hton
constexpr ValueT hton(ValueT n) noexcept
Definition
Endian.hpp:71
toolbox::net::ltoh
constexpr ValueT ltoh(ValueT n) noexcept
Definition
Endian.hpp:82
toolbox::net::ntoh
constexpr ValueT ntoh(ValueT n) noexcept
Definition
Endian.hpp:60
toolbox::net::bswap
constexpr std::uint16_t bswap(std::uint16_t n) noexcept
Definition
Endian.hpp:27
toolbox::net::htol
constexpr ValueT htol(ValueT n) noexcept
Definition
Endian.hpp:93
toolbox::util::bind
constexpr auto bind() noexcept
Definition
Slot.hpp:92
toolbox
Definition
Benchmark.cpp:26
Generated by
1.9.8