std::tuple_size<std::array>
Определён в заголовочном файле <array> | ||
|---|---|---|
template< class T, std::size_t N >
struct tuple_size< std::array<T, N> > :
std::integral_constant<std::size_t, N>
{ };
| (начиная с C++11) |
Предоставляет доступ к количеству элементов в std::array в виде константного выражения времени компиляции.
Вспомогательный шаблон переменной
template< class T > constexpr std::size_t tuple_size_v = tuple_size<T>::value; | (начиная с C++17) |
Унаследовано от std::integral_constant
Константы-члены
|
value
[static] |
N, количество элементов массива (общедоступная статическая константа-член) |
Функции-члены
|
operator std::size_t | преобразует объект в std::size_t, возвращает value (общедоступная функция-член) |
|
operator()
(C++14) | возвращает value (общедоступная функция-член) |
Типы-члены
| Тип | Определение |
|---|---|
value_type | std::size_t |
type | std::integral_constant<std::size_t,value> |
Пример
#include <array>
int main()
{
auto arr = std::to_array("ABBA");
static_assert(std::tuple_size<decltype(arr)>{} == 5);
}
См. также
| Структурированная привязка (C++17) | привязывает указанные имена к подобъектам или элементам кортежа инициализатора |
|
(C++11) | получает количество элементов кортежеподобного типа (шаблон класса) |
|
(C++11) | получает размер
|
|
(C++11) | получает размер pair (специализация шаблона класса) |
|
(C++20) | получает размер std::ranges::subrange (специализация шаблона класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/array/tuple_size