Lines Matching full:array

14     array synopsis
19 struct array
36 void swap(array& a) noexcept(is_nothrow_swappable_v<T>); // constexpr in C++20
75 array(T, U...) -> array<T, 1 + sizeof...(U)>; // C++17
78 bool operator==(const array<T,N>& x, const array<T,N>& y); // constexpr in C++20
80 bool operator!=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
82 bool operator<(const array<T,N>& x, const array<T,N>& y); // removed in C++20
84 bool operator>(const array<T,N>& x, const array<T,N>& y); // removed in C++20
86 bool operator<=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
88 bool operator>=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
91 operator<=>(const array<T, N>& x, const array<T, N>& y); // since C++20
94 void swap(array<T,N>& x, array<T,N>& y) noexcept(noexcept(x.swap(y))); // constexpr in C++20
97 constexpr array<remove_cv_t<T>, N> to_array(T (&a)[N]); // C++20
99 constexpr array<remove_cv_t<T>, N> to_array(T (&&a)[N]); // C++20
103 template <class T, size_t N> struct tuple_size<array<T, N>>;
104 template <size_t I, class T, size_t N> struct tuple_element<I, array<T, N>>;
105 template <size_t I, class T, size_t N> T& get(array<T, N>&) noexcept; // constexpr in…
106 template <size_t I, class T, size_t N> const T& get(const array<T, N>&) noexcept; // constexpr in…
107 template <size_t I, class T, size_t N> T&& get(array<T, N>&&) noexcept; // constexpr in…
108 template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexcept; // constexpr in…
115 # include <__cxx03/array>
125 # include <__fwd/array.h>
158 // [array.syn]
176 struct array {
178 __conditional_t<__libcpp_is_trivially_relocatable<_Tp>::value, array, void>;
179 using __replaceable _LIBCPP_NODEBUG = __conditional_t<__is_replaceable_v<_Tp>, array, void>;
182 using __self _LIBCPP_NODEBUG = array;
210 …_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array& __a) _NOEXCEPT_(__is_nothrow_…
271 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");
275 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");
281 std::__throw_out_of_range("array::at");
287 std::__throw_out_of_range("array::at");
303 struct array<_Tp, 0> {
305 using __self _LIBCPP_NODEBUG = array;
338 static_assert(!is_const<_Tp>::value, "cannot fill zero-sized array of type 'const T'");
341 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array&) _NOEXCEPT {
342 static_assert(!is_const<_Tp>::value, "cannot swap zero-sized array of type 'const T'");
402 …IBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized arra…
407 …IBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized arra…
412 std::__throw_out_of_range("array<T, 0>::at");
417 std::__throw_out_of_range("array<T, 0>::at");
422 …LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array"…
427 …LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array"…
432 …_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array"…
437 …_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array"…
444 array(_Tp, _Args...) -> array<_Tp, 1 + sizeof...(_Args)>;
449 operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
456 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
461 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& …
466 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& …
471 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
476 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
484 operator<=>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
491 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array<_Tp, _Size>& __x, array<…
497 struct tuple_size<array<_Tp, _Size> > : public integral_constant<size_t, _Size> {};
500 struct tuple_element<_Ip, array<_Tp, _Size> > {
501 static_assert(_Ip < _Size, "Index out of bounds in std::tuple_element<> (std::array)");
506 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp& get(array<_Tp, _Size>& __a) _NOEXCE…
507 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array)");
512 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Tp& get(const array<_Tp, _Size>& …
513 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array)");
518 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp&& get(array<_Tp, _Size>&& __a) _NOEX…
519 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array &&)");
524 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Tp&& get(const array<_Tp, _Size>&…
525 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array &&)");
532 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
538 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
544 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
546 …static_assert(!is_array_v<_Tp>, "[array.creation]/1: to_array does not accept multidimensional arr…
547 …static_assert(is_constructible_v<_Tp, _Tp&>, "[array.creation]/1: to_array requires copy construct…
552 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
554 …static_assert(!is_array_v<_Tp>, "[array.creation]/4: to_array does not accept multidimensional arr…
555 …static_assert(is_move_constructible_v<_Tp>, "[array.creation]/4: to_array requires move constructi…