template< size_t I, class T, size_t N >
constexpr T& get( array<T,N>& a ); (1) (since C++11) template< size_t I, class T, size_t N >
constexpr T&& get( array<T,N>&& a ); (2) (since C++11) template< size_t I, class T, size_t N >
constexpr const T& get( const array<T,N>& a ); (3) (since C++11) template< size_t I, class T, size_t N >
constexpr const T&& get( const array<T,N>&& a );