userver
C++ Async Framework
Loading...
Searching...
No Matches
void_t.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/utils/void_t.hpp
4
/// @brief @copybrief utils::void_t
5
6
#
include
<
type_traits
>
7
8
USERVER_NAMESPACE_BEGIN
9
10
namespace
utils
{
11
12
#
ifndef
ARCADIA_ROOT
13
14
#
if
(
__cpp_lib_void_t
>=
201411
&&
!
defined
(
__clang__
)
)
||
defined
(
DOXYGEN
)
15
/// @brief std::void_t implementation with workarounds for compiler bugs
16
///
17
/// @ingroup userver_universal
18
template
<
typename
...
T
>
19
using
void_t
=
std
::
void_t
<
T
...>;
20
#
else
21
22
template
<
typename
... T>
23
struct
make_void_t {
// NOLINT(readability-identifier-naming)
24
using
type =
void
;
25
};
26
template
<
typename
... T>
27
using
void_t =
typename
make_void_t<T...>::type;
28
29
#
endif
30
31
#
endif
32
33
}
// namespace utils
34
35
USERVER_NAMESPACE_END
userver
utils
void_t.hpp
Generated on Thu May 21 2026 16:23:02 for userver by
Doxygen
1.13.2