tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
smallest_size_t.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_TYPE_TRAITS_SMALLEST_SIZE_T_HPP
4#define TETL_TYPE_TRAITS_SMALLEST_SIZE_T_HPP
5
7
8namespace etl {
11// clang-format off
12template<unsigned long long N>
15 conditional_t<(N < static_cast<unsigned short>(-1)), unsigned short,
16 conditional_t<(N < static_cast<unsigned int>(-1)), unsigned int,
17 conditional_t<(N < static_cast<unsigned long>(-1)), unsigned long,
18 unsigned long long>>>>;
19// clang-format on
20
21} // namespace etl
22
23#endif // TETL_TYPE_TRAITS_SMALLEST_SIZE_T_HPP
conditional_t<(N< static_cast< unsigned char >(-1)), unsigned char, conditional_t<(N< static_cast< unsigned short >(-1)), unsigned short, conditional_t<(N< static_cast< unsigned int >(-1)), unsigned int, conditional_t<(N< static_cast< unsigned long >(-1)), unsigned long, unsigned long long > > > > smallest_size_t
Smallest unsigned integer type that can represent values in the range [0, N].
Definition smallest_size_t.hpp:13
Definition adjacent_find.hpp:8
typename conditional< B, T, F >::type conditional_t
Definition conditional.hpp:21