gslice
·
gslice_array
·
indirect_array
·
mask_array
·
slice
·
slice_array
·
valarray
·
valarray<bool>
abs
·
acos
·
asin
·
atan
·
atan2
·
cos
·
cosh
·
exp
·
log
·
log10
·
max
·
min
·
operator!=
·
operator%
·
operator&
·
operator&&
·
operator>
·
operator>>
·
operator>=
·
operator<
·
operator<<
·
operator<=
·
operator*
·
operator+
·
operator-
·
operator/
·
operator==
·
operator^
·
operator|
·
operator||
·
pow
·
sin
·
sinh
·
sqrt
·
tan
·
tanh
namespace std {
class slice;
class gslice;
// TEMPLATE CLASSES
template<class T>
class valarray;
template<class T>
class slice_array;
template<class T>
class gslice_array;
template<class T>
class mask_array;
template<class T>
class indirect_array;
// TEMPLATE FUNCTIONS
template<class T>
valarray<T> operator*(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator*(const valarray<T> lhs,
const T& rhs);
template<class T>
valarray<T> operator*(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator/(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator/(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator/(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator%(const valarray<T>& lhs,
const vararray<T>& rhs);
template<class T>
valarray<T> operator%(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator%(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator+(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator+(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator+(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator-(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator-(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator-(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator^(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator^(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator^(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator&(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator&(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator&(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator|(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator|(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator|(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator<<(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator<<(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator<<(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<T> operator>>(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<T> operator>>(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<T> operator>>(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator&&(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator&&(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator&&(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<biil> operator||(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator||(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator||(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator==(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator==(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator==(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator!=(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator!=(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator!=(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator<(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator<(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator<(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator>=(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator>=(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator>=(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator>(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator>(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator>(const T& lhs, const valarray<T>& rhs);
template<class T>
valarray<bool> operator<=(const valarray<T>& lhs,
const valarray<T>& rhs);
template<class T>
valarray<bool> operator<=(const valarray<T> lhs, const T& rhs);
template<class T>
valarray<bool> operator<=(const T& lhs, const valarray<T>& rhs);
template<class T>
T max(const valarray<T>& x);
template<class T>
T min(const valarray<T>& x);
template<class T>
valarray<T> abs(const valarray<T>& x);
template<class T>
valarray<T> acos(const valarray<T>& x);
template<class T>
valarray<T> asin(const valarray<T>& x);
template<class T>
valarray<T> atan(const valarray<T>& x);
template<class T>
valarray<T> atan2(const valarray<T>& x,
const valarray<T>& y);
template<class T>
valarray<T> atan2(const valarray<T> x, const T& y);
template<class T>
valarray<T> atan2(const T& x, const valarray<T>& y);
template<class T>
valarray<T> cos(const valarray<T>& x);
template<class T>
valarray<T> cosh(const valarray<T>& x);
template<class T>
valarray<T> exp(const valarray<T>& x);
template<class T>
valarray<T> log(const valarray<T>& x);
template<class T>
valarray&ttT> log10(const valarray<T>& x);
template<class T>
valarray<T> pow(const valarray<T>& x,
const valarray<T>& y);
template<class T>
valarray<T> pow(const valarray<T> x, const T& y);
template<class T>
valarray<T> pow(const T& x, const valarray<T>& y);
template<class T>
valarray<T> sin(const valarray<T>& x);
template<class T>
valarray<T> sinh(const valarray<T>& x);
template<class T>
valarray<T> sqrt(const valarray<T>& x);
template<class T>
valarray<T> tan(const valarray<T>& x);
template<class T>
valarray<T> tanh(const valarray<T>& x);
};
Include the standard header <valarray>
to define the template class valarray
and numerous supporting template
classes and functions. These template classes and functions are permitted unusual latitude, in the interest of improved
performance. Specifically, any function returning valarray<T>
may return an object of some other type T'
. In that
case, any function that accepts one or more arguments of type valarray<T>
must have overloads that accept arbitrary
combinations of those arguments, each replaced with an argument of type T'
. (Put simply, the only way you can detect
such a substitution is to go looking for it.)