Toolbox
snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
toolbox
util
TypeTraits.ut.cpp
Go to the documentation of this file.
1
// The Reactive C++ Toolbox.
2
// Copyright (C) 2013-2019 Swirly Cloud Limited
3
// Copyright (C) 2024 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 "
TypeTraits.hpp
"
18
#include <vector>
19
20
using namespace
toolbox::util
;
21
22
static_assert
(
is_string_v<std::string>
);
23
static_assert
(
is_string_v<const std::string>
);
24
static_assert
(
is_string_v<volatile std::string>
);
25
static_assert
(
is_string_v<const volatile std::string>
);
26
static_assert
(!
is_string_v<std::string*>
);
27
static_assert
(!
is_string_v<const std::string*>
);
28
static_assert
(!
is_string_v<volatile std::string*>
);
29
static_assert
(!
is_string_v<const volatile std::string*>
);
30
static_assert
(!
is_string_v<std::string&>
);
31
static_assert
(!
is_string_v<const std::string&>
);
32
static_assert
(!
is_string_v<volatile std::string&>
);
33
static_assert
(!
is_string_v<const volatile std::string&>
);
34
static_assert
(!
is_string_v<void>
);
35
static_assert
(!
is_string_v<int>
);
36
static_assert
(!
is_string_v<std::vector<std::string>
>);
37
static_assert
(!
is_string_v<char*>
);
38
static_assert
(!
is_string_v<const char*>
);
39
static_assert
(!
is_string_v<std::string_view>
);
40
41
static_assert
(
is_string_view_v<std::string_view>
);
42
static_assert
(
is_string_view_v<const std::string_view>
);
43
static_assert
(
is_string_view_v<volatile std::string_view>
);
44
static_assert
(
is_string_view_v<const volatile std::string_view>
);
45
static_assert
(!
is_string_view_v<std::string_view*>
);
46
static_assert
(!
is_string_view_v<const std::string_view*>
);
47
static_assert
(!
is_string_view_v<volatile std::string_view*>
);
48
static_assert
(!
is_string_view_v<const volatile std::string_view*>
);
49
static_assert
(!
is_string_view_v<std::string_view&>
);
50
static_assert
(!
is_string_view_v<const std::string_view&>
);
51
static_assert
(!
is_string_view_v<volatile std::string_view&>
);
52
static_assert
(!
is_string_view_v<const volatile std::string_view&>
);
53
static_assert
(!
is_string_view_v<void>
);
54
static_assert
(!
is_string_view_v<int>
);
55
static_assert
(!
is_string_view_v<std::vector<std::string>
>);
56
static_assert
(!
is_string_view_v<char*>
);
57
static_assert
(!
is_string_view_v<const char*>
);
58
static_assert
(!
is_string_view_v<std::string>
);
59
60
static_assert
(
is_decay_to_cstring_v<char[]>
);
61
static_assert
(
is_decay_to_cstring_v<const char[]>
);
62
static_assert
(
is_decay_to_cstring_v<volatile char[]>
);
63
static_assert
(
is_decay_to_cstring_v<const volatile char[]>
);
64
static_assert
(
is_decay_to_cstring_v<char[5]>
);
65
static_assert
(
is_decay_to_cstring_v<const char[5]>
);
66
static_assert
(
is_decay_to_cstring_v<volatile char[5]>
);
67
static_assert
(
is_decay_to_cstring_v<const volatile char[5]>
);
68
static_assert
(!
is_decay_to_cstring_v<int[]>
);
69
static_assert
(!
is_decay_to_cstring_v<const int[]>
);
70
static_assert
(!
is_decay_to_cstring_v<volatile int[]>
);
71
static_assert
(!
is_decay_to_cstring_v<const volatile int[]>
);
72
static_assert
(!
is_decay_to_cstring_v<int[5]>
);
73
static_assert
(!
is_decay_to_cstring_v<const int[5]>
);
74
static_assert
(!
is_decay_to_cstring_v<volatile int[5]>
);
75
static_assert
(!
is_decay_to_cstring_v<const volatile int[5]>
);
76
static_assert
(!
is_decay_to_cstring_v<unsigned char[]>
);
77
static_assert
(!
is_decay_to_cstring_v<const unsigned char[]>
);
78
static_assert
(!
is_decay_to_cstring_v<volatile unsigned char[]>
);
79
static_assert
(!
is_decay_to_cstring_v<const volatile unsigned char[]>
);
80
static_assert
(!
is_decay_to_cstring_v<unsigned char[5]>
);
81
static_assert
(!
is_decay_to_cstring_v<const unsigned char[5]>
);
82
static_assert
(!
is_decay_to_cstring_v<volatile unsigned char[5]>
);
83
static_assert
(!
is_decay_to_cstring_v<const volatile unsigned char[5]>
);
84
static_assert
(!
is_decay_to_cstring_v<signed char[]>
);
85
static_assert
(!
is_decay_to_cstring_v<const signed char[]>
);
86
static_assert
(!
is_decay_to_cstring_v<volatile signed char[]>
);
87
static_assert
(!
is_decay_to_cstring_v<const volatile signed char[]>
);
88
static_assert
(!
is_decay_to_cstring_v<signed char[5]>
);
89
static_assert
(!
is_decay_to_cstring_v<const signed char[5]>
);
90
static_assert
(!
is_decay_to_cstring_v<volatile signed char[5]>
);
91
static_assert
(!
is_decay_to_cstring_v<const volatile signed char[5]>
);
92
static_assert
(!
is_decay_to_cstring_v<char>
);
93
static_assert
(!
is_decay_to_cstring_v<signed char>
);
94
static_assert
(!
is_decay_to_cstring_v<unsigned char>
);
95
static_assert
(!
is_decay_to_cstring_v<int>
);
96
static_assert
(!
is_decay_to_cstring_v<void>
);
97
static_assert
(!
is_decay_to_cstring_v<double>
);
98
static_assert
(!
is_decay_to_cstring_v<std::string>
);
99
static_assert
(!
is_decay_to_cstring_v<std::string_view>
);
100
101
static_assert
(
is_string_type_v<std::string>
);
102
static_assert
(!
is_string_type_v<std::string*>
);
103
static_assert
(!
is_string_type_v<std::string&>
);
104
105
static_assert
(
is_string_type_v<std::string_view>
);
106
static_assert
(!
is_string_type_v<std::string_view*>
);
107
static_assert
(!
is_string_type_v<std::string_view&>
);
108
109
static_assert
(
is_string_type_v<char*>
);
110
static_assert
(
is_string_type_v<char* const>
);
111
static_assert
(
is_string_type_v<char* volatile>
);
112
static_assert
(
is_string_type_v<char* const volatile>
);
113
static_assert
(
is_string_type_v<const char*>
);
114
static_assert
(
is_string_type_v<const char* const>
);
115
static_assert
(
is_string_type_v<const char* volatile>
);
116
static_assert
(
is_string_type_v<const char* const volatile>
);
117
static_assert
(
is_string_type_v<volatile char*>
);
118
static_assert
(
is_string_type_v<volatile char* const>
);
119
static_assert
(
is_string_type_v<volatile char* volatile>
);
120
static_assert
(
is_string_type_v<volatile char* const volatile>
);
121
static_assert
(
is_string_type_v<const volatile char*>
);
122
static_assert
(
is_string_type_v<const volatile char* const>
);
123
static_assert
(
is_string_type_v<const volatile char* volatile>
);
124
static_assert
(
is_string_type_v<const volatile char* const volatile>
);
125
static_assert
(
is_string_type_v<char[]>
);
126
static_assert
(
is_string_type_v<const char[]>
);
127
static_assert
(
is_string_type_v<volatile char[]>
);
128
static_assert
(
is_string_type_v<const volatile char[]>
);
129
static_assert
(
is_string_type_v<char[5]>
);
130
static_assert
(
is_string_type_v<const char[5]>
);
131
static_assert
(
is_string_type_v<volatile char[5]>
);
132
static_assert
(
is_string_type_v<const volatile char[5]>
);
133
static_assert
(!
is_string_type_v<void>
);
134
static_assert
(!
is_string_type_v<int>
);
135
static_assert
(!
is_string_type_v<float>
);
136
static_assert
(!
is_string_type_v<unsigned char*>
);
137
static_assert
(!
is_string_type_v<unsigned char* const>
);
138
static_assert
(!
is_string_type_v<unsigned char* volatile>
);
139
static_assert
(!
is_string_type_v<unsigned char* const volatile>
);
140
static_assert
(!
is_string_type_v<const unsigned char*>
);
141
static_assert
(!
is_string_type_v<const unsigned char* const>
);
142
static_assert
(!
is_string_type_v<const unsigned char* volatile>
);
143
static_assert
(!
is_string_type_v<const unsigned char* const volatile>
);
144
static_assert
(!
is_string_type_v<volatile unsigned char*>
);
145
static_assert
(!
is_string_type_v<volatile unsigned char* const>
);
146
static_assert
(!
is_string_type_v<volatile unsigned char* volatile>
);
147
static_assert
(!
is_string_type_v<volatile unsigned char* const volatile>
);
148
static_assert
(!
is_string_type_v<const volatile unsigned char*>
);
149
static_assert
(!
is_string_type_v<const volatile unsigned char* const>
);
150
static_assert
(!
is_string_type_v<const volatile unsigned char* volatile>
);
151
static_assert
(!
is_string_type_v<const volatile unsigned char* const volatile>
);
152
static_assert
(!
is_string_type_v<unsigned char[]>
);
153
static_assert
(!
is_string_type_v<const unsigned char[]>
);
154
static_assert
(!
is_string_type_v<volatile unsigned char[]>
);
155
static_assert
(!
is_string_type_v<const volatile unsigned char[]>
);
156
static_assert
(!
is_string_type_v<unsigned char[5]>
);
157
static_assert
(!
is_string_type_v<const unsigned char[5]>
);
158
static_assert
(!
is_string_type_v<volatile unsigned char[5]>
);
159
static_assert
(!
is_string_type_v<const volatile unsigned char[5]>
);
160
static_assert
(!
is_string_type_v<signed char[]>
);
161
static_assert
(!
is_string_type_v<const signed char[]>
);
162
static_assert
(!
is_string_type_v<volatile signed char[]>
);
163
static_assert
(!
is_string_type_v<const volatile signed char[]>
);
164
static_assert
(!
is_string_type_v<signed char[5]>
);
165
static_assert
(!
is_string_type_v<const signed char[5]>
);
166
static_assert
(!
is_string_type_v<volatile signed char[5]>
);
167
static_assert
(!
is_string_type_v<const volatile signed char[5]>
);
TypeTraits.hpp
toolbox::util
Definition
Endpoint.hpp:146
toolbox::util::bind
constexpr auto bind() noexcept
Definition
Slot.hpp:92
Generated by
1.9.8