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 > inline constexpr std::size_t tuple_size_v = tuple_size<T>::value; | (с C++17) |
Наследуется от std::integral_constant
Члены-константы
| value
[static] | количество элементов в массиве (общедоступная статическая константа-член) |
Члены-функции
| 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) | получает размер tuple во время компиляции (специализация шаблона класса) |
|
(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/w/cpp/container/array/tuple_size