##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::tuple_size(std::array)

From cppreference.com
< cpp‎ | container‎ | array

Defined in header `<array>` |  |
template< class T, size_t N > class tuple_size< array<T, N> > : public integral_constant<size_t, N> { }; | (1) | (since C++11)

Provides access to the number of elements in an std::array as a compile-time constant expression.

## Inherited from std::integral_constant

### Member constants

value [static] | `N`, the number of elements in the array (public static member constant)

### Member functions

operator std::size_t | converts the object to std::size_t, returns `value` (public member function)
operator() (C++14) | returns `value` (public member function)

### Member types

Type | Definition
`value_type` | `std::size_t`
`type` | std::integral_constant<std::size_t, value>

### [edit] Example

Run this code

    #include <iostream>
    #include <array>

    template<class T>
    void test(T t)
    {
        int a[std::tuple_size<T>::value]; // can be used at compile time
        std::cout << std::tuple_size<T>::value << '\n';
    }

    int main()
    {
        std::array<float, 3> arr;
        test(arr);
    }

Output:

    3

### [edit] See also

tuple_size | obtains the size of `tuple` at compile time (class template specialization) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/array/tuple_size&oldid=62691"