diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-19 21:12:03 +0000 | 
| commit | c9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch) | |
| tree | 08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/libcxx/include/array | |
| parent | 2a66844f606a35d68ad8a8061f4bea204274b3bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/libcxx/include/array')
| -rw-r--r-- | contrib/llvm-project/libcxx/include/array | 179 | 
1 files changed, 90 insertions, 89 deletions
diff --git a/contrib/llvm-project/libcxx/include/array b/contrib/llvm-project/libcxx/include/array index 3fc25d4c3062..d00bf278e635 100644 --- a/contrib/llvm-project/libcxx/include/array +++ b/contrib/llvm-project/libcxx/include/array @@ -131,6 +131,7 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce  #include <__type_traits/is_same.h>  #include <__type_traits/is_swappable.h>  #include <__type_traits/remove_cv.h> +#include <__utility/empty.h>  #include <__utility/integer_sequence.h>  #include <__utility/move.h>  #include <__utility/unreachable.h> @@ -164,75 +165,75 @@ template <class _Tp, size_t _Size>  struct _LIBCPP_TEMPLATE_VIS array  {      // types: -    typedef array __self; -    typedef _Tp                                   value_type; -    typedef value_type&                           reference; -    typedef const value_type&                     const_reference; -    typedef value_type*                           iterator; -    typedef const value_type*                     const_iterator; -    typedef value_type*                           pointer; -    typedef const value_type*                     const_pointer; -    typedef size_t                                size_type; -    typedef ptrdiff_t                             difference_type; -    typedef _VSTD::reverse_iterator<iterator>       reverse_iterator; -    typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator; +    using __self                 = array; +    using value_type             = _Tp; +    using reference              = value_type&; +    using const_reference        = const value_type&; +    using iterator               = value_type*; +    using const_iterator         = const value_type*; +    using pointer                = value_type*; +    using const_pointer          = const value_type*; +    using size_type              = size_t; +    using difference_type        = ptrdiff_t; +    using reverse_iterator       = std::reverse_iterator<iterator>; +    using const_reverse_iterator = std::reverse_iterator<const_iterator>;      _Tp __elems_[_Size];      // No explicit construct/copy/destroy for aggregate type -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20      void fill(const value_type& __u) { -        _VSTD::fill_n(data(), _Size, __u); +        std::fill_n(data(), _Size, __u);      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20      void swap(array& __a) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value) { -        _VSTD::swap_ranges(data(), data() + _Size, __a.data()); +        std::swap_ranges(data(), data() + _Size, __a.data());      }      // iterators: -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      iterator begin() _NOEXCEPT {return iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator begin() const _NOEXCEPT {return const_iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      iterator end() _NOEXCEPT {return iterator(data() + _Size);} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator end() const _NOEXCEPT {return const_iterator(data() + _Size);} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator cbegin() const _NOEXCEPT {return begin();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator cend() const _NOEXCEPT {return end();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator crend() const _NOEXCEPT {return rend();}      // capacity: -    _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR size_type size() const _NOEXCEPT {return _Size;} -    _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR size_type max_size() const _NOEXCEPT {return _Size;} -    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR bool empty() const _NOEXCEPT {return _Size == 0;}      // element access: -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reference operator[](size_type __n) _NOEXCEPT {          _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");          return __elems_[__n];      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14      const_reference operator[](size_type __n) const _NOEXCEPT {          _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");          return __elems_[__n]; @@ -252,14 +253,14 @@ struct _LIBCPP_TEMPLATE_VIS array          return __elems_[__n];      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 reference front()             _NOEXCEPT {return (*this)[0];} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 const_reference front() const _NOEXCEPT {return (*this)[0];} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 reference back()              _NOEXCEPT {return (*this)[_Size - 1];} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 const_reference back() const  _NOEXCEPT {return (*this)[_Size - 1];} +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reference front()             _NOEXCEPT {return (*this)[0];} +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const_reference front() const _NOEXCEPT {return (*this)[0];} +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reference back()              _NOEXCEPT {return (*this)[_Size - 1];} +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const_reference back() const  _NOEXCEPT {return (*this)[_Size - 1];} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      value_type* data() _NOEXCEPT {return __elems_;} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const value_type* data() const _NOEXCEPT {return __elems_;}  }; @@ -277,112 +278,112 @@ struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0>      typedef const value_type*                     const_pointer;      typedef size_t                                size_type;      typedef ptrdiff_t                             difference_type; -    typedef _VSTD::reverse_iterator<iterator>       reverse_iterator; -    typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator; +    typedef std::reverse_iterator<iterator>       reverse_iterator; +    typedef std::reverse_iterator<const_iterator> const_reverse_iterator; -    typedef __conditional_t<is_const<_Tp>::value, const char, char> _CharType; +    typedef __conditional_t<is_const<_Tp>::value, const __empty, __empty> _EmptyType;      struct  _ArrayInStructT { _Tp __data_[1]; }; -    _ALIGNAS_TYPE(_ArrayInStructT) _CharType __elems_[sizeof(_ArrayInStructT)]; +    _ALIGNAS_TYPE(_ArrayInStructT) _EmptyType __elems_[sizeof(_ArrayInStructT)]; -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      value_type* data() _NOEXCEPT {return nullptr;} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const value_type* data() const _NOEXCEPT {return nullptr;}      // No explicit construct/copy/destroy for aggregate type -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20      void fill(const value_type&) {        static_assert(!is_const<_Tp>::value,                      "cannot fill zero-sized array of type 'const T'");      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20      void swap(array&) _NOEXCEPT {        static_assert(!is_const<_Tp>::value,                      "cannot swap zero-sized array of type 'const T'");      }      // iterators: -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      iterator begin() _NOEXCEPT {return iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator begin() const _NOEXCEPT {return const_iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      iterator end() _NOEXCEPT {return iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator end() const _NOEXCEPT {return const_iterator(data());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator cbegin() const _NOEXCEPT {return begin();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_iterator cend() const _NOEXCEPT {return end();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();} -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      const_reverse_iterator crend() const _NOEXCEPT {return rend();}      // capacity: -    _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR size_type size() const _NOEXCEPT {return 0; } -    _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR size_type max_size() const _NOEXCEPT {return 0;} -    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY +    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI      _LIBCPP_CONSTEXPR bool empty() const _NOEXCEPT {return true;}      // element access: -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reference operator[](size_type) _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized array");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14      const_reference operator[](size_type) const _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::operator[] on a zero-sized array");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reference at(size_type) {        __throw_out_of_range("array<T, 0>::at");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14      const_reference at(size_type) const {        __throw_out_of_range("array<T, 0>::at");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reference front() _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14      const_reference front() const _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::front() on a zero-sized array");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17      reference back() _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array");        __libcpp_unreachable();      } -    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14      const_reference back() const _NOEXCEPT {        _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(false, "cannot call array<T, 0>::back() on a zero-sized array");        __libcpp_unreachable(); @@ -399,11 +400,11 @@ array(_Tp, _Args...)  #endif  template <class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI  _LIBCPP_CONSTEXPR_SINCE_CXX20 bool  operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)  { -    return _VSTD::equal(__x.begin(), __x.end(), __y.begin()); +    return std::equal(__x.begin(), __x.end(), __y.begin());  }  #if _LIBCPP_STD_VER <= 17 @@ -415,7 +416,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const array<_Tp, _Size>& __x, const  template <class _Tp, size_t _Size>  inline _LIBCPP_HIDE_FROM_ABI bool operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) { -    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); +    return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());  }  template <class _Tp, size_t _Size> @@ -444,9 +445,9 @@ operator<=>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {  #endif // _LIBCPP_STD_VER <= 17 -template <class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 -__enable_if_t<_Size == 0 || __is_swappable<_Tp>::value, void> +template <class _Tp, size_t _Size, __enable_if_t<_Size == 0 || __is_swappable<_Tp>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 +void  swap(array<_Tp, _Size>& __x, array<_Tp, _Size>& __y)                                    _NOEXCEPT_(noexcept(__x.swap(__y)))  { @@ -465,7 +466,7 @@ struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, array<_Tp, _Size> >  };  template <size_t _Ip, class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14  _Tp&  get(array<_Tp, _Size>& __a) _NOEXCEPT  { @@ -474,7 +475,7 @@ get(array<_Tp, _Size>& __a) _NOEXCEPT  }  template <size_t _Ip, class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14  const _Tp&  get(const array<_Tp, _Size>& __a) _NOEXCEPT  { @@ -483,39 +484,39 @@ get(const array<_Tp, _Size>& __a) _NOEXCEPT  }  template <size_t _Ip, class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14  _Tp&&  get(array<_Tp, _Size>&& __a) _NOEXCEPT  {      static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array &&)"); -    return _VSTD::move(__a.__elems_[_Ip]); +    return std::move(__a.__elems_[_Ip]);  }  template <size_t _Ip, class _Tp, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14  const _Tp&&  get(const array<_Tp, _Size>&& __a) _NOEXCEPT  {      static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array &&)"); -    return _VSTD::move(__a.__elems_[_Ip]); +    return std::move(__a.__elems_[_Ip]);  }  #if _LIBCPP_STD_VER >= 20  template <typename _Tp, size_t _Size, size_t... _Index> -_LIBCPP_INLINE_VISIBILITY constexpr array<remove_cv_t<_Tp>, _Size> +_LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>  __to_array_lvalue_impl(_Tp (&__arr)[_Size], index_sequence<_Index...>) {    return {{__arr[_Index]...}};  }  template <typename _Tp, size_t _Size, size_t... _Index> -_LIBCPP_INLINE_VISIBILITY constexpr array<remove_cv_t<_Tp>, _Size> +_LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>  __to_array_rvalue_impl(_Tp(&&__arr)[_Size], index_sequence<_Index...>) { -  return {{_VSTD::move(__arr[_Index])...}}; +  return {{std::move(__arr[_Index])...}};  }  template <typename _Tp, size_t _Size> -_LIBCPP_INLINE_VISIBILITY constexpr array<remove_cv_t<_Tp>, _Size> +_LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>  to_array(_Tp (&__arr)[_Size]) noexcept(is_nothrow_constructible_v<_Tp, _Tp&>) {    static_assert(        !is_array_v<_Tp>, @@ -523,11 +524,11 @@ to_array(_Tp (&__arr)[_Size]) noexcept(is_nothrow_constructible_v<_Tp, _Tp&>) {    static_assert(        is_constructible_v<_Tp, _Tp&>,        "[array.creation]/1: to_array requires copy constructible elements."); -  return _VSTD::__to_array_lvalue_impl(__arr, make_index_sequence<_Size>()); +  return std::__to_array_lvalue_impl(__arr, make_index_sequence<_Size>());  }  template <typename _Tp, size_t _Size> -_LIBCPP_INLINE_VISIBILITY constexpr array<remove_cv_t<_Tp>, _Size> +_LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>  to_array(_Tp(&&__arr)[_Size]) noexcept(is_nothrow_move_constructible_v<_Tp>) {    static_assert(        !is_array_v<_Tp>, @@ -535,7 +536,7 @@ to_array(_Tp(&&__arr)[_Size]) noexcept(is_nothrow_move_constructible_v<_Tp>) {    static_assert(        is_move_constructible_v<_Tp>,        "[array.creation]/4: to_array requires move constructible elements."); -  return _VSTD::__to_array_rvalue_impl(_VSTD::move(__arr), +  return std::__to_array_rvalue_impl(std::move(__arr),                                         make_index_sequence<_Size>());  }  | 
