diff options
Diffstat (limited to 'contrib/llvm-project/libcxx/include/valarray')
| -rw-r--r-- | contrib/llvm-project/libcxx/include/valarray | 2060 |
1 files changed, 661 insertions, 1399 deletions
diff --git a/contrib/llvm-project/libcxx/include/valarray b/contrib/llvm-project/libcxx/include/valarray index 09a7c9016c99..19f26d0940a0 100644 --- a/contrib/llvm-project/libcxx/include/valarray +++ b/contrib/llvm-project/libcxx/include/valarray @@ -387,23 +387,23 @@ class _LIBCPP_TEMPLATE_VIS slice size_t __size_; size_t __stride_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI slice() : __start_(0), __size_(0), __stride_(0) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI slice(size_t __start, size_t __size, size_t __stride) : __start_(__start), __size_(__size), __stride_(__stride) {} - _LIBCPP_INLINE_VISIBILITY size_t start() const {return __start_;} - _LIBCPP_INLINE_VISIBILITY size_t size() const {return __size_;} - _LIBCPP_INLINE_VISIBILITY size_t stride() const {return __stride_;} + _LIBCPP_HIDE_FROM_ABI size_t start() const {return __start_;} + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __size_;} + _LIBCPP_HIDE_FROM_ABI size_t stride() const {return __stride_;} #if _LIBCPP_STD_VER >= 20 @@ -421,22 +421,22 @@ template <class _Tp> class _LIBCPP_TEMPLATE_VIS mask_array; template <class _Tp> class _LIBCPP_TEMPLATE_VIS indirect_array; template <class _Tp> -_LIBCPP_INLINE_VISIBILITY +_LIBCPP_HIDE_FROM_ABI _Tp* begin(valarray<_Tp>& __v); template <class _Tp> -_LIBCPP_INLINE_VISIBILITY +_LIBCPP_HIDE_FROM_ABI const _Tp* begin(const valarray<_Tp>& __v); template <class _Tp> -_LIBCPP_INLINE_VISIBILITY +_LIBCPP_HIDE_FROM_ABI _Tp* end(valarray<_Tp>& __v); template <class _Tp> -_LIBCPP_INLINE_VISIBILITY +_LIBCPP_HIDE_FROM_ABI const _Tp* end(const valarray<_Tp>& __v); @@ -449,13 +449,13 @@ struct _UnaryOp _Op __op_; _A0 __a0_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _UnaryOp(const _Op& __op, const _A0& __a0) : __op_(__op), __a0_(__a0) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -469,14 +469,14 @@ struct _BinaryOp _A0 __a0_; _A1 __a1_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _BinaryOp(const _Op& __op, const _A0& __a0, const _A1& __a1) : __op_(__op), __a0_(__a0), __a1_(__a1) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -490,13 +490,13 @@ private: const value_type& __t_; size_t __s_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit __scalar_expr(const value_type& __t, size_t __s) : __t_(__t), __s_(__s) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t) const {return __t_;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __s_;} }; @@ -504,7 +504,7 @@ template <class _Tp> struct __unary_plus { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return +__x;} }; @@ -513,7 +513,7 @@ template <class _Tp> struct __bit_not { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return ~__x;} }; @@ -522,7 +522,7 @@ template <class _Tp> struct __bit_shift_left { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x, const _Tp& __y) const {return __x << __y;} }; @@ -531,7 +531,7 @@ template <class _Tp> struct __bit_shift_right { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x, const _Tp& __y) const {return __x >> __y;} }; @@ -544,10 +544,10 @@ private: public: typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit __apply_expr(_Fp __f) : __f_(__f) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return __f_(__x);} }; @@ -556,7 +556,7 @@ template <class _Tp> struct __abs_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::abs(__x);} }; @@ -565,7 +565,7 @@ template <class _Tp> struct __acos_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::acos(__x);} }; @@ -574,7 +574,7 @@ template <class _Tp> struct __asin_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::asin(__x);} }; @@ -583,7 +583,7 @@ template <class _Tp> struct __atan_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::atan(__x);} }; @@ -592,7 +592,7 @@ template <class _Tp> struct __atan2_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x, const _Tp& __y) const {return std::atan2(__x, __y);} }; @@ -601,7 +601,7 @@ template <class _Tp> struct __cos_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::cos(__x);} }; @@ -610,7 +610,7 @@ template <class _Tp> struct __cosh_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::cosh(__x);} }; @@ -619,7 +619,7 @@ template <class _Tp> struct __exp_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::exp(__x);} }; @@ -628,7 +628,7 @@ template <class _Tp> struct __log_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::log(__x);} }; @@ -637,7 +637,7 @@ template <class _Tp> struct __log10_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::log10(__x);} }; @@ -646,7 +646,7 @@ template <class _Tp> struct __pow_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x, const _Tp& __y) const {return std::pow(__x, __y);} }; @@ -655,7 +655,7 @@ template <class _Tp> struct __sin_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::sin(__x);} }; @@ -664,7 +664,7 @@ template <class _Tp> struct __sinh_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::sinh(__x);} }; @@ -673,7 +673,7 @@ template <class _Tp> struct __sqrt_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::sqrt(__x);} }; @@ -682,7 +682,7 @@ template <class _Tp> struct __tan_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::tan(__x);} }; @@ -691,7 +691,7 @@ template <class _Tp> struct __tanh_expr { typedef _Tp __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _Tp operator()(const _Tp& __x) const {return std::tanh(__x);} }; @@ -710,7 +710,7 @@ private: size_t __size_; size_t __stride_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __slice_expr(const slice& __sl, const _RmExpr& __e) : __expr_(__e), __start_(__sl.start()), @@ -719,11 +719,11 @@ private: {} public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __expr_[__start_ + __i * __stride_];} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __size_;} template <class> friend class __val_expr; @@ -753,7 +753,7 @@ private: static const ptrdiff_t _Np = static_cast<ptrdiff_t>( sizeof(ptrdiff_t) * __CHAR_BIT__ - 1); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __shift_expr(int __n, const _RmExpr& __e) : __expr_(__e), __size_(__e.size()), @@ -765,7 +765,7 @@ private: } public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __j) const { ptrdiff_t __i = static_cast<ptrdiff_t>(__j); @@ -773,7 +773,7 @@ public: return (__expr_[(__i + __n_) & __m] & __m) | (value_type() & ~__m); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __size_;} template <class> friend class __val_expr; @@ -794,7 +794,7 @@ private: size_t __o1_; size_t __o2_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __cshift_expr(int __n, const _RmExpr& __e) : __expr_(__e), __size_(__e.size()) @@ -815,7 +815,7 @@ private: } public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const { if (__i < __m_) @@ -823,7 +823,7 @@ public: return __expr_[__i + __o2_]; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __size_;} template <class> friend class __val_expr; @@ -854,16 +854,16 @@ private: public: // construct/destroy: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray() : __begin_(nullptr), __end_(nullptr) {} inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1 explicit valarray(size_t __n); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray(const value_type& __x, size_t __n); valarray(const value_type* __p, size_t __n); valarray(const valarray& __v); #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray(valarray&& __v) _NOEXCEPT; valarray(initializer_list<value_type> __il); #endif // _LIBCPP_CXX03_LANG @@ -877,202 +877,152 @@ public: // assignment: valarray& operator=(const valarray& __v); #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(valarray&& __v) _NOEXCEPT; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(initializer_list<value_type>); #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const slice_array<value_type>& __sa); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const gslice_array<value_type>& __ga); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const mask_array<value_type>& __ma); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const indirect_array<value_type>& __ia); template <class _ValExpr> - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator=(const __val_expr<_ValExpr>& __v); // element access: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const value_type& operator[](size_t __i) const {return __begin_[__i];} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type& operator[](size_t __i) {return __begin_[__i];} // subset operations: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__slice_expr<const valarray&> > operator[](slice __s) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI slice_array<value_type> operator[](slice __s); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator[](const gslice& __gs); #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator[](gslice&& __gs); #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator[](const valarray<bool>& __vb); #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator[](valarray<bool>&& __vb); #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator[](const valarray<size_t>& __vs); #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator[](valarray<size_t>&& __vs); #endif // _LIBCPP_CXX03_LANG // unary operators: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__unary_plus<_Tp>, const valarray&> > operator+() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<negate<_Tp>, const valarray&> > operator-() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__bit_not<_Tp>, const valarray&> > operator~() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<logical_not<_Tp>, const valarray&> > operator!() const; // computed assignment: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator*= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator/= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator%= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator+= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator-= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator^= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator&= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator|= (const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator<<=(const value_type& __x); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray& operator>>=(const value_type& __x); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator*= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator/= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator%= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator+= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator-= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator^= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator|= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator&= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator<<= (const _Expr& __v); - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - valarray& - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + _LIBCPP_HIDE_FROM_ABI valarray& operator>>= (const _Expr& __v); // member functions: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void swap(valarray& __v) _NOEXCEPT; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return static_cast<size_t>(__end_ - __begin_);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type sum() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type min() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI value_type max() const; valarray shift (int __i) const; @@ -1111,7 +1061,7 @@ private: const _Up* end(const valarray<_Up>& __v); - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void __clear(size_t __capacity); valarray& __assign_range(const value_type* __f, const value_type* __l); }; @@ -1132,13 +1082,13 @@ struct _UnaryOp<_Op, valarray<_Tp> > _Op __op_; const valarray<_Tp>& __a0_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _UnaryOp(const _Op& __op, const valarray<_Tp>& __a0) : __op_(__op), __a0_(__a0) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -1152,14 +1102,14 @@ struct _BinaryOp<_Op, valarray<_Tp>, _A1> const valarray<_Tp>& __a0_; _A1 __a1_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const _A1& __a1) : __op_(__op), __a0_(__a0), __a1_(__a1) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -1173,14 +1123,14 @@ struct _BinaryOp<_Op, _A0, valarray<_Tp> > _A0 __a0_; const valarray<_Tp>& __a1_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _BinaryOp(const _Op& __op, const _A0& __a0, const valarray<_Tp>& __a1) : __op_(__op), __a0_(__a0), __a1_(__a1) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -1194,14 +1144,14 @@ struct _BinaryOp<_Op, valarray<_Tp>, valarray<_Tp> > const valarray<_Tp>& __a0_; const valarray<_Tp>& __a1_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const valarray<_Tp>& __a1) : __op_(__op), __a0_(__a0), __a1_(__a1) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __a0_.size();} }; @@ -1219,118 +1169,74 @@ private: size_t __stride_; public: - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator*=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator/=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator%=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator+=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator-=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator^=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator&=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator|=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator<<=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator>>=(const _Expr& __v) const; slice_array(slice_array const&) = default; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const slice_array& operator=(const slice_array& __sa) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator=(const value_type& __x) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator=(const valarray<value_type>& __va) const; private: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI slice_array(const slice& __sl, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_ + __sl.start())), __size_(__sl.size()), @@ -1353,13 +1259,9 @@ slice_array<_Tp>::operator=(const slice_array& __sa) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1377,13 +1279,9 @@ slice_array<_Tp>::operator=(const valarray<value_type>& __va) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator*=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1392,13 +1290,9 @@ slice_array<_Tp>::operator*=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator/=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1407,13 +1301,9 @@ slice_array<_Tp>::operator/=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator%=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1422,13 +1312,9 @@ slice_array<_Tp>::operator%=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator+=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1437,13 +1323,9 @@ slice_array<_Tp>::operator+=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator-=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1452,13 +1334,9 @@ slice_array<_Tp>::operator-=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator^=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1467,13 +1345,9 @@ slice_array<_Tp>::operator^=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator&=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1482,13 +1356,9 @@ slice_array<_Tp>::operator&=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator|=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1497,13 +1367,9 @@ slice_array<_Tp>::operator|=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator<<=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1512,13 +1378,9 @@ slice_array<_Tp>::operator<<=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void slice_array<_Tp>::operator>>=(const _Expr& __v) const { value_type* __t = __vp_; @@ -1545,10 +1407,10 @@ class _LIBCPP_EXPORTED_FROM_ABI gslice valarray<size_t> __1d_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice() {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice(size_t __start, const valarray<size_t>& __size, const valarray<size_t>& __stride) : __size_(__size), @@ -1557,21 +1419,21 @@ public: #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice(size_t __start, const valarray<size_t>& __size, valarray<size_t>&& __stride) : __size_(__size), __stride_(std::move(__stride)) {__init(__start);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice(size_t __start, valarray<size_t>&& __size, const valarray<size_t>& __stride) : __size_(std::move(__size)), __stride_(__stride) {__init(__start);} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI gslice(size_t __start, valarray<size_t>&& __size, valarray<size_t>&& __stride) : __size_(std::move(__size)), @@ -1580,13 +1442,13 @@ public: #endif // _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t start() const {return __1d_.size() ? __1d_[0] : 0;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray<size_t> size() const {return __size_;} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI valarray<size_t> stride() const {return __stride_;} private: @@ -1610,109 +1472,65 @@ private: valarray<size_t> __1d_; public: - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator*=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator/=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator%=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator+=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator-=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator^=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator&=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator|=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator<<=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator>>=(const _Expr& __v) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const gslice_array& operator=(const gslice_array& __ga) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator=(const value_type& __x) const; gslice_array(const gslice_array&) = default; @@ -1734,13 +1552,9 @@ private: }; template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1750,13 +1564,9 @@ gslice_array<_Tp>::operator=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator*=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1766,13 +1576,9 @@ gslice_array<_Tp>::operator*=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator/=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1782,13 +1588,9 @@ gslice_array<_Tp>::operator/=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator%=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1798,13 +1600,9 @@ gslice_array<_Tp>::operator%=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator+=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1814,13 +1612,9 @@ gslice_array<_Tp>::operator+=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator-=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1830,13 +1624,9 @@ gslice_array<_Tp>::operator-=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator^=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1846,13 +1636,9 @@ gslice_array<_Tp>::operator^=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator&=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1862,13 +1648,9 @@ gslice_array<_Tp>::operator&=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator|=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1878,13 +1660,9 @@ gslice_array<_Tp>::operator|=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator<<=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1894,13 +1672,9 @@ gslice_array<_Tp>::operator<<=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void gslice_array<_Tp>::operator>>=(const _Expr& __v) const { typedef const size_t* _Ip; @@ -1945,115 +1719,71 @@ private: valarray<size_t> __1d_; public: - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator*=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator/=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator%=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator+=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator-=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator^=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator&=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator|=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator<<=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator>>=(const _Expr& __v) const; mask_array(const mask_array&) = default; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const mask_array& operator=(const mask_array& __ma) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator=(const value_type& __x) const; private: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI mask_array(const valarray<bool>& __vb, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true))) @@ -2068,13 +1798,9 @@ private: }; template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2083,13 +1809,9 @@ mask_array<_Tp>::operator=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator*=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2098,13 +1820,9 @@ mask_array<_Tp>::operator*=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator/=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2113,13 +1831,9 @@ mask_array<_Tp>::operator/=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator%=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2128,13 +1842,9 @@ mask_array<_Tp>::operator%=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator+=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2143,13 +1853,9 @@ mask_array<_Tp>::operator+=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator-=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2158,13 +1864,9 @@ mask_array<_Tp>::operator-=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator^=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2173,13 +1875,9 @@ mask_array<_Tp>::operator^=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator&=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2188,13 +1886,9 @@ mask_array<_Tp>::operator&=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator|=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2203,13 +1897,9 @@ mask_array<_Tp>::operator|=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator<<=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2218,13 +1908,9 @@ mask_array<_Tp>::operator<<=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, void ->::type mask_array<_Tp>::operator>>=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2265,7 +1951,7 @@ private: _ValExpr __expr_; valarray<size_t> __1d_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __mask_expr(const valarray<bool>& __vb, const _RmExpr& __e) : __expr_(__e), __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true))) @@ -2277,11 +1963,11 @@ private: } public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __expr_[__1d_[__i]];} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __1d_.size();} template <class> friend class __val_expr; @@ -2301,115 +1987,71 @@ private: valarray<size_t> __1d_; public: - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator*=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator/=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator%=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator+=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator-=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator^=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator&=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator|=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator<<=(const _Expr& __v) const; - template <class _Expr> - typename enable_if - < - __is_val_expr<_Expr>::value, - void - >::type - _LIBCPP_INLINE_VISIBILITY + template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> + void + _LIBCPP_HIDE_FROM_ABI operator>>=(const _Expr& __v) const; indirect_array(const indirect_array&) = default; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI const indirect_array& operator=(const indirect_array& __ia) const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI void operator=(const value_type& __x) const; private: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI indirect_array(const valarray<size_t>& __ia, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(__ia) @@ -2417,7 +2059,7 @@ private: #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(std::move(__ia)) @@ -2429,13 +2071,9 @@ private: }; template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2444,13 +2082,9 @@ indirect_array<_Tp>::operator=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator*=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2459,13 +2093,9 @@ indirect_array<_Tp>::operator*=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator/=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2474,13 +2104,9 @@ indirect_array<_Tp>::operator/=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator%=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2489,13 +2115,9 @@ indirect_array<_Tp>::operator%=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator+=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2504,13 +2126,9 @@ indirect_array<_Tp>::operator+=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator-=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2519,13 +2137,9 @@ indirect_array<_Tp>::operator-=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator^=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2534,13 +2148,9 @@ indirect_array<_Tp>::operator^=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator&=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2549,13 +2159,9 @@ indirect_array<_Tp>::operator&=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator|=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2564,13 +2170,9 @@ indirect_array<_Tp>::operator|=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator<<=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2579,13 +2181,9 @@ indirect_array<_Tp>::operator<<=(const _Expr& __v) const } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, - void ->::type +void indirect_array<_Tp>::operator>>=(const _Expr& __v) const { size_t __n = __1d_.size(); @@ -2628,7 +2226,7 @@ private: _ValExpr __expr_; valarray<size_t> __1d_; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __indirect_expr(const valarray<size_t>& __ia, const _RmExpr& __e) : __expr_(__e), __1d_(__ia) @@ -2636,7 +2234,7 @@ private: #ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e) : __expr_(__e), __1d_(std::move(__ia)) @@ -2645,11 +2243,11 @@ private: #endif // _LIBCPP_CXX03_LANG public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __expr_[__1d_[__i]];} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __1d_.size();} template <class> friend class __val_expr; @@ -2666,42 +2264,42 @@ public: typedef typename _RmExpr::value_type value_type; typedef typename _RmExpr::__result_type __result_type; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI explicit __val_expr(const _RmExpr& __e) : __expr_(__e) {} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const {return __expr_[__i];} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__slice_expr<_ValExpr> > operator[](slice __s) const { typedef __slice_expr<_ValExpr> _NewExpr; return __val_expr< _NewExpr >(_NewExpr(__s, __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<_ValExpr> > operator[](const gslice& __gs) const { typedef __indirect_expr<_ValExpr> _NewExpr; return __val_expr<_NewExpr >(_NewExpr(__gs.__1d_, __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<_ValExpr> > operator[](const valarray<bool>& __vb) const { typedef __mask_expr<_ValExpr> _NewExpr; return __val_expr< _NewExpr >( _NewExpr(__vb, __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<_ValExpr> > operator[](const valarray<size_t>& __vs) const { typedef __indirect_expr<_ValExpr> _NewExpr; return __val_expr< _NewExpr >(_NewExpr(__vs, __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__unary_plus<value_type>, _ValExpr> > operator+() const { @@ -2709,7 +2307,7 @@ public: return __val_expr<_NewExpr>(_NewExpr(__unary_plus<value_type>(), __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<negate<value_type>, _ValExpr> > operator-() const { @@ -2717,7 +2315,7 @@ public: return __val_expr<_NewExpr>(_NewExpr(negate<value_type>(), __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__bit_not<value_type>, _ValExpr> > operator~() const { @@ -2725,7 +2323,7 @@ public: return __val_expr<_NewExpr>(_NewExpr(__bit_not<value_type>(), __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<logical_not<value_type>, _ValExpr> > operator!() const { @@ -2735,10 +2333,10 @@ public: operator valarray<__result_type>() const; - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI size_t size() const {return __expr_.size();} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type sum() const { size_t __n = __expr_.size(); @@ -2748,7 +2346,7 @@ public: return __r; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type min() const { size_t __n = size(); @@ -2762,7 +2360,7 @@ public: return __r; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __result_type max() const { size_t __n = size(); @@ -2776,15 +2374,15 @@ public: return __r; } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__shift_expr<_ValExpr> > shift (int __i) const {return __val_expr<__shift_expr<_ValExpr> >(__shift_expr<_ValExpr>(__i, __expr_));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<__cshift_expr<_ValExpr> > cshift(int __i) const {return __val_expr<__cshift_expr<_ValExpr> >(__cshift_expr<_ValExpr>(__i, __expr_));} - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(value_type)>, _ValExpr> > apply(value_type __f(value_type)) const { @@ -2793,7 +2391,7 @@ public: return __val_expr<_NewExpr>(_NewExpr(_Op(__f), __expr_)); } - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(const value_type&)>, _ValExpr> > apply(value_type __f(const value_type&)) const { @@ -3076,9 +2674,9 @@ valarray<_Tp>::__assign_range(const value_type* __f, const value_type* __l) __clear(size()); __begin_ = allocator<value_type>().allocate(__n); __end_ = __begin_ + __n; - _VSTD::uninitialized_copy(__f, __l, __begin_); + std::uninitialized_copy(__f, __l, __begin_); } else { - _VSTD::copy(__f, __l, __begin_); + std::copy(__f, __l, __begin_); } return *this; } @@ -3087,7 +2685,7 @@ template <class _Tp> valarray<_Tp>& valarray<_Tp>::operator=(const valarray& __v) { - if (this != _VSTD::addressof(__v)) + if (this != std::addressof(__v)) return __assign_range(__v.__begin_, __v.__end_); return *this; } @@ -3122,7 +2720,7 @@ inline valarray<_Tp>& valarray<_Tp>::operator=(const value_type& __x) { - _VSTD::fill(__begin_, __end_, __x); + std::fill(__begin_, __end_, __x); return *this; } @@ -3456,13 +3054,9 @@ valarray<_Tp>::operator>>=(const value_type& __x) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator*=(const _Expr& __v) { size_t __i = 0; @@ -3472,13 +3066,9 @@ valarray<_Tp>::operator*=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator/=(const _Expr& __v) { size_t __i = 0; @@ -3488,13 +3078,9 @@ valarray<_Tp>::operator/=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator%=(const _Expr& __v) { size_t __i = 0; @@ -3504,13 +3090,9 @@ valarray<_Tp>::operator%=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator+=(const _Expr& __v) { size_t __i = 0; @@ -3520,13 +3102,9 @@ valarray<_Tp>::operator+=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator-=(const _Expr& __v) { size_t __i = 0; @@ -3536,13 +3114,9 @@ valarray<_Tp>::operator-=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator^=(const _Expr& __v) { size_t __i = 0; @@ -3552,13 +3126,9 @@ valarray<_Tp>::operator^=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator|=(const _Expr& __v) { size_t __i = 0; @@ -3568,13 +3138,9 @@ valarray<_Tp>::operator|=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator&=(const _Expr& __v) { size_t __i = 0; @@ -3584,13 +3150,9 @@ valarray<_Tp>::operator&=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator<<=(const _Expr& __v) { size_t __i = 0; @@ -3600,13 +3162,9 @@ valarray<_Tp>::operator<<=(const _Expr& __v) } template <class _Tp> -template <class _Expr> +template <class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> > inline -typename enable_if -< - __is_val_expr<_Expr>::value, valarray<_Tp>& ->::type valarray<_Tp>::operator>>=(const _Expr& __v) { size_t __i = 0; @@ -3620,8 +3178,8 @@ inline void valarray<_Tp>::swap(valarray& __v) _NOEXCEPT { - _VSTD::swap(__begin_, __v.__begin_); - _VSTD::swap(__end_, __v.__end_); + std::swap(__begin_, __v.__begin_); + std::swap(__end_, __v.__end_); } template <class _Tp> @@ -3645,7 +3203,7 @@ valarray<_Tp>::min() const { if (__begin_ == __end_) return value_type(); - return *_VSTD::min_element(__begin_, __end_); + return *std::min_element(__begin_, __end_); } template <class _Tp> @@ -3655,7 +3213,7 @@ valarray<_Tp>::max() const { if (__begin_ == __end_) return value_type(); - return *_VSTD::max_element(__begin_, __end_); + return *std::max_element(__begin_, __end_); } template <class _Tp> @@ -3672,14 +3230,14 @@ valarray<_Tp>::shift(int __i) const value_type* __te; if (__i >= 0) { - __i = _VSTD::min(__i, static_cast<int>(__n)); + __i = std::min(__i, static_cast<int>(__n)); __sb = __begin_ + __i; __tb = __r.__begin_; __te = __r.__begin_ + (__n - __i); } else { - __i = _VSTD::min(-__i, static_cast<int>(__n)); + __i = std::min(-__i, static_cast<int>(__n)); __sb = __begin_; __tb = __r.__begin_ + __i; __te = __r.__begin_ + __n; @@ -3782,20 +3340,16 @@ valarray<_Tp>::resize(size_t __n, value_type __x) } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI void swap(valarray<_Tp>& __x, valarray<_Tp>& __y) _NOEXCEPT { __x.swap(__y); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<multiplies<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<multiplies<typename _Expr1::value_type>, _Expr1, _Expr2> > operator*(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -3803,14 +3357,10 @@ operator*(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(multiplies<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<multiplies<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator*(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -3819,14 +3369,10 @@ operator*(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<multiplies<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator*(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -3835,13 +3381,9 @@ operator*(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<divides<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<divides<typename _Expr1::value_type>, _Expr1, _Expr2> > operator/(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -3849,14 +3391,10 @@ operator/(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(divides<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<divides<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<divides<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator/(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -3865,14 +3403,10 @@ operator/(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<divides<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<divides<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator/(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -3881,13 +3415,9 @@ operator/(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<modulus<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<modulus<typename _Expr1::value_type>, _Expr1, _Expr2> > operator%(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -3895,14 +3425,10 @@ operator%(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(modulus<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<modulus<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<modulus<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator%(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -3911,14 +3437,10 @@ operator%(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<modulus<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<modulus<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator%(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -3927,13 +3449,9 @@ operator%(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<plus<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<plus<typename _Expr1::value_type>, _Expr1, _Expr2> > operator+(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -3941,14 +3459,10 @@ operator+(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(plus<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<plus<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<plus<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator+(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -3957,14 +3471,10 @@ operator+(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<plus<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<plus<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator+(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -3973,13 +3483,9 @@ operator+(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<minus<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<minus<typename _Expr1::value_type>, _Expr1, _Expr2> > operator-(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -3987,14 +3493,10 @@ operator-(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(minus<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<minus<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<minus<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator-(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4003,14 +3505,10 @@ operator-(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<minus<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<minus<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator-(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4019,13 +3517,9 @@ operator-(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<bit_xor<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_xor<typename _Expr1::value_type>, _Expr1, _Expr2> > operator^(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4033,14 +3527,10 @@ operator^(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(bit_xor<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator^(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4049,14 +3539,10 @@ operator^(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator^(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4065,13 +3551,9 @@ operator^(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<bit_and<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_and<typename _Expr1::value_type>, _Expr1, _Expr2> > operator&(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4079,14 +3561,10 @@ operator&(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(bit_and<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_and<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator&(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4095,14 +3573,10 @@ operator&(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_and<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator&(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4111,13 +3585,9 @@ operator&(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<bit_or<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_or<typename _Expr1::value_type>, _Expr1, _Expr2> > operator|(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4125,14 +3595,10 @@ operator|(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(bit_or<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_or<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator|(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4141,14 +3607,10 @@ operator|(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<bit_or<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator|(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4157,13 +3619,9 @@ operator|(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<__bit_shift_left<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_left<typename _Expr1::value_type>, _Expr1, _Expr2> > operator<<(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4171,14 +3629,10 @@ operator<<(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator<<(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4187,14 +3641,10 @@ operator<<(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator<<(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4203,13 +3653,9 @@ operator<<(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<__bit_shift_right<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_right<typename _Expr1::value_type>, _Expr1, _Expr2> > operator>>(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4217,14 +3663,10 @@ operator>>(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator>>(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4233,14 +3675,10 @@ operator>>(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator>>(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4249,13 +3687,9 @@ operator>>(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<logical_and<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_and<typename _Expr1::value_type>, _Expr1, _Expr2> > operator&&(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4263,14 +3697,10 @@ operator&&(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(logical_and<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_and<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator&&(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4279,14 +3709,10 @@ operator&&(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_and<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator&&(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4295,13 +3721,9 @@ operator&&(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<logical_or<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_or<typename _Expr1::value_type>, _Expr1, _Expr2> > operator||(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4309,14 +3731,10 @@ operator||(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(logical_or<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_or<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator||(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4325,14 +3743,10 @@ operator||(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<logical_or<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator||(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4341,13 +3755,9 @@ operator||(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> > operator==(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4355,14 +3765,10 @@ operator==(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(equal_to<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<equal_to<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator==(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4371,14 +3777,10 @@ operator==(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<equal_to<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator==(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4387,13 +3789,9 @@ operator==(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<not_equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<not_equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> > operator!=(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4401,14 +3799,10 @@ operator!=(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(not_equal_to<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator!=(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4417,14 +3811,10 @@ operator!=(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator!=(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4433,13 +3823,9 @@ operator!=(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<less<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less<typename _Expr1::value_type>, _Expr1, _Expr2> > operator<(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4447,14 +3833,10 @@ operator<(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(less<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<less<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator<(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4463,14 +3845,10 @@ operator<(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<less<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator<(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4479,13 +3857,9 @@ operator<(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<greater<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater<typename _Expr1::value_type>, _Expr1, _Expr2> > operator>(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4493,14 +3867,10 @@ operator>(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(greater<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<greater<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator>(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4509,14 +3879,10 @@ operator>(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<greater<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator>(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4525,13 +3891,9 @@ operator>(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<less_equal<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less_equal<typename _Expr1::value_type>, _Expr1, _Expr2> > operator<=(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4539,14 +3901,10 @@ operator<=(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(less_equal<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less_equal<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator<=(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4555,14 +3913,10 @@ operator<=(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<less_equal<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator<=(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4571,13 +3925,9 @@ operator<=(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<greater_equal<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater_equal<typename _Expr1::value_type>, _Expr1, _Expr2> > operator>=(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4585,14 +3935,10 @@ operator>=(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(greater_equal<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > operator>=(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4601,14 +3947,10 @@ operator>=(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > operator>=(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4617,13 +3959,9 @@ operator>=(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> > abs(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4631,13 +3969,9 @@ abs(const _Expr& __x) return __val_expr<_Op>(_Op(__abs_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> > acos(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4645,13 +3979,9 @@ acos(const _Expr& __x) return __val_expr<_Op>(_Op(__acos_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> > asin(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4659,13 +3989,9 @@ asin(const _Expr& __x) return __val_expr<_Op>(_Op(__asin_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> > atan(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4673,13 +3999,9 @@ atan(const _Expr& __x) return __val_expr<_Op>(_Op(__atan_expr<value_type>(), __x)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> > atan2(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4687,14 +4009,10 @@ atan2(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(__atan2_expr<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>, _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type atan2(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4703,14 +4021,10 @@ atan2(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>, __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type atan2(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4719,13 +4033,9 @@ atan2(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> > cos(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4733,13 +4043,9 @@ cos(const _Expr& __x) return __val_expr<_Op>(_Op(__cos_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> > cosh(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4747,13 +4053,9 @@ cosh(const _Expr& __x) return __val_expr<_Op>(_Op(__cosh_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> > exp(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4761,13 +4063,9 @@ exp(const _Expr& __x) return __val_expr<_Op>(_Op(__exp_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> > log(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4775,13 +4073,9 @@ log(const _Expr& __x) return __val_expr<_Op>(_Op(__log_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> > log10(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4789,13 +4083,9 @@ log10(const _Expr& __x) return __val_expr<_Op>(_Op(__log10_expr<value_type>(), __x)); } -template<class _Expr1, class _Expr2> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, - __val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> > ->::type +template<class _Expr1, class _Expr2, __enable_if_t<__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> > pow(const _Expr1& __x, const _Expr2& __y) { typedef typename _Expr1::value_type value_type; @@ -4803,14 +4093,10 @@ pow(const _Expr1& __x, const _Expr2& __y) return __val_expr<_Op>(_Op(__pow_expr<value_type>(), __x, __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, - _Expr, __scalar_expr<typename _Expr::value_type> > > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, + _Expr, __scalar_expr<typename _Expr::value_type> > > pow(const _Expr& __x, const typename _Expr::value_type& __y) { typedef typename _Expr::value_type value_type; @@ -4819,14 +4105,10 @@ pow(const _Expr& __x, const typename _Expr::value_type& __y) __x, __scalar_expr<value_type>(__y, __x.size()))); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, - __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, - __scalar_expr<typename _Expr::value_type>, _Expr> > ->::type +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI +__val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, + __scalar_expr<typename _Expr::value_type>, _Expr> > pow(const typename _Expr::value_type& __x, const _Expr& __y) { typedef typename _Expr::value_type value_type; @@ -4835,13 +4117,9 @@ pow(const typename _Expr::value_type& __x, const _Expr& __y) __scalar_expr<value_type>(__x, __y.size()), __y)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sin_expr<typename _Expr::value_type>, _Expr> > ->::type sin(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4849,13 +4127,9 @@ sin(const _Expr& __x) return __val_expr<_Op>(_Op(__sin_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sinh_expr<typename _Expr::value_type>, _Expr> > ->::type sinh(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4863,13 +4137,9 @@ sinh(const _Expr& __x) return __val_expr<_Op>(_Op(__sinh_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sqrt_expr<typename _Expr::value_type>, _Expr> > ->::type sqrt(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4877,13 +4147,9 @@ sqrt(const _Expr& __x) return __val_expr<_Op>(_Op(__sqrt_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tan_expr<typename _Expr::value_type>, _Expr> > ->::type tan(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4891,13 +4157,9 @@ tan(const _Expr& __x) return __val_expr<_Op>(_Op(__tan_expr<value_type>(), __x)); } -template<class _Expr> -inline _LIBCPP_INLINE_VISIBILITY -typename enable_if -< - __is_val_expr<_Expr>::value, +template<class _Expr, __enable_if_t<__is_val_expr<_Expr>::value, int> = 0> +inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tanh_expr<typename _Expr::value_type>, _Expr> > ->::type tanh(const _Expr& __x) { typedef typename _Expr::value_type value_type; @@ -4906,7 +4168,7 @@ tanh(const _Expr& __x) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI _Tp* begin(valarray<_Tp>& __v) { @@ -4914,7 +4176,7 @@ begin(valarray<_Tp>& __v) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI const _Tp* begin(const valarray<_Tp>& __v) { @@ -4922,7 +4184,7 @@ begin(const valarray<_Tp>& __v) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI _Tp* end(valarray<_Tp>& __v) { @@ -4930,7 +4192,7 @@ end(valarray<_Tp>& __v) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_HIDE_FROM_ABI const _Tp* end(const valarray<_Tp>& __v) { |
