Zserio C++17 runtime library 1.3.0
Built for Zserio 2.20.0
Loading...
Searching...
No Matches
SizeConvertUtil.cpp
Go to the documentation of this file.
1#include <cstddef>
2#include <limits>
3
7
8namespace zserio
9{
10
12{
13#ifdef ZSERIO_RUNTIME_64BIT
14 if (value > static_cast<size_t>(std::numeric_limits<uint32_t>::max()))
15 {
16 throw CppRuntimeException("SizeConvertUtil: size_t value '")
17 << value << "' is out of bounds for conversion to uint32_t type!";
18 }
19#endif
20
21 return static_cast<uint32_t>(value);
22}
23
25{
26#ifndef ZSERIO_RUNTIME_64BIT
27 if (value > static_cast<uint64_t>(std::numeric_limits<size_t>::max()))
28 {
29 throw CppRuntimeException("SizeConvertUtil: uint64_t value '")
30 << value << "' is out of bounds for conversion to size_t type!";
31 }
32#endif
33
34 return static_cast<size_t>(value);
35}
36
37} // namespace zserio
uint32_t convertSizeToUInt32(size_t value)
size_t convertUInt64ToSize(uint64_t value)