Namensräume
Varianten
Aktionen

std::tuple_size<std::array>

Von cppreference.com
< cpp‎ | container‎ | array
 
 
 
 
Definiert in der Header-Datei <array>
template< class T, std::size_t N >

struct tuple_size< std::array<T, N> > :
    std::integral_constant<std::size_t, N>

{ };
(seit C++11)

Bietet Zugriff auf die Anzahl der Elemente in einem std::array als Compile-Zeit-Konstante.

Inhalt

[bearbeiten] Hilfsvariablentempel

template< class T >
constexpr std::size_t tuple_size_v = tuple_size<T>::value;
(seit C++17)

Abgeleitet von std::integral_constant

Member-Konstanten

value
[static]
N, die Anzahl der Elemente im Array
(öffentliche statische Member-Konstante)

Memberfunktionen

operator std::size_t
konvertiert das Objekt zu std::size_t, gibt value zurück
(öffentliche Memberfunktion)
operator()
(C++14)
gibt value zurück
(öffentliche Memberfunktion)

Membertypen

Typ Definition
value_type std::size_t
type std::integral_constant<std::size_t, value>

[bearbeiten] Beispiel

#include <array>
 
int main()
{
    auto arr = std::to_array("ABBA");
    static_assert(std::tuple_size<decltype(arr)>{} == 5);
}

[bearbeiten] Siehe auch

Strukturierte Bindung (C++17) bindet die angegebenen Namen an Unterobjekte oder Tuple-Elemente des Initialisierers[bearbeiten]
erhält die Anzahl der Elemente eines Tupel-ähnlichen Typs
(Klassenvorlage) [edit]
ermittelt die Größe eines

tuple
(class template specialization) [bearbeiten]

ermittelt die Größe eines pair
(Klassenvorlagenspezialisierung) [edit]
erhält die Größe eines std::ranges::subrange
(Klassentemplate-Spezialisierung) [bearbeiten]