⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
userver
C++ Async Framework v2.0
Documentation
API Groups
Namespaces
Reference
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
w
y
Variables
k
n
r
u
w
Typedefs
c
d
h
m
n
o
p
s
t
u
v
Enumerations
a
b
c
d
f
h
i
l
o
p
r
s
t
u
v
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Related Symbols
File List
File Members
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
Toggle main menu visibility
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
All results
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
Docs version:
v1.0
,
v2.0
,
trunk/develop
userver
utils
underlying_value.hpp
Generated on Wed May 15 2024 22:35:46 for userver by
Doxygen
1.10.0