Lines Matching refs: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…
121 #include <__fwd/array.h>
150 // [array.syn]
168 struct _LIBCPP_TEMPLATE_VIS array {
170 using __self = array;
190 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array& __a)
234 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");
238 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");
244 __throw_out_of_range("array::at");
250 __throw_out_of_range("array::at");
266 struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0> {
268 typedef array __self;
293 static_assert(!is_const<_Tp>::value, "cannot fill zero-sized array of type 'const T'");
296 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array&) _NOEXCEPT {
297 static_assert(!is_const<_Tp>::value, "cannot swap zero-sized array of type 'const T'");
337 …IBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized arra…
342 …IBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized arra…
347 __throw_out_of_range("array<T, 0>::at");
352 __throw_out_of_range("array<T, 0>::at");
357 …LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array"…
362 …LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array"…
367 …_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array"…
372 …_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array"…
379 array(_Tp, _Args...) -> array<_Tp, 1 + sizeof...(_Args)>;
384 operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
391 inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
396 inline _LIBCPP_HIDE_FROM_ABI bool operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& …
401 inline _LIBCPP_HIDE_FROM_ABI bool operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& …
406 inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
411 inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>&…
419 operator<=>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
427 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array<_Tp, _Size>& __x, array<…
433 struct _LIBCPP_TEMPLATE_VIS tuple_size<array<_Tp, _Size> > : public integral_constant<size_t, _Size…
436 struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, array<_Tp, _Size> > {
437 static_assert(_Ip < _Size, "Index out of bounds in std::tuple_element<> (std::array)");
442 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp& get(array<_Tp, _Size>& __a) _NOEXCE…
443 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array)");
448 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Tp& get(const array<_Tp, _Size>& …
449 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array)");
454 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp&& get(array<_Tp, _Size>&& __a) _NOEX…
455 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array &&)");
460 inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Tp&& get(const array<_Tp, _Size>&…
461 static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array &&)");
468 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
474 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
480 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
482 …static_assert(!is_array_v<_Tp>, "[array.creation]/1: to_array does not accept multidimensional arr…
483 …static_assert(is_constructible_v<_Tp, _Tp&>, "[array.creation]/1: to_array requires copy construct…
488 _LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
490 …static_assert(!is_array_v<_Tp>, "[array.creation]/4: to_array does not accept multidimensional arr…
491 …static_assert(is_move_constructible_v<_Tp>, "[array.creation]/4: to_array requires move constructi…