userver
C++ Async Framework
Loading...
Searching...
No Matches
underlying_value.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/utils/underlying_value.hpp
4
/// @brief @copybrief utils::UnderlyingValue
5
/// @ingroup userver_universal
6
7
#
include
<
type_traits
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
namespace
utils {
12
13
/// @brief Function that extracts integral value from enum or StrongTypedef
14
template
<
class
T>
15
constexpr
auto
UnderlyingValue
(T v)
noexcept
{
16
static_assert
(std::is_enum<T>::value,
17
"UnderlyingValue works only with enums or StrongTypedef"
);
18
19
return
static_cast
<std::underlying_type_t<T>>(v);
20
}
21
22
}
// namespace utils
23
24
USERVER_NAMESPACE_END
userver
utils
underlying_value.hpp
Generated on Wed May 15 2024 22:35:46 for userver by
Doxygen
1.10.0