Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      Standard library header <valarray>

      From cppreference.com
      <cpp‎ |header
       
       
      Standard library headers
       

      This header is part of thenumeric library.

      Contents

      Includes

      std::initializer_list class template[edit]

      Classes

      Numeric arrays and array slices
      (class template)
      BLAS-like slice of a valarray: starting index, length, stride
      (class)[edit]
      proxy to a subset of a valarray after applying a slice
      (class template)[edit]
      generalized slice of a valarray: starting index, set of lengths, set of strides
      (class)[edit]
      proxy to a subset of a valarray after applying a gslice
      (class template)[edit]
      proxy to a subset of a valarray after applying a boolean maskoperator[]
      (class template)[edit]
      proxy to a subset of a valarray after applying indirectoperator[]
      (class template)[edit]

      Functions

      Operations
      specializes thestd::swap algorithm
      (function template)[edit]
      overloadsstd::begin
      (function template)[edit]
      specializesstd::end
      (function template)[edit]
      applies binary operators to each element of two valarrays, or a valarray and a value
      (function template)[edit]
      compares two valarrays or a valarray with a value
      (function template)[edit]
      applies the functionabs to each element of valarray
      (function template)[edit]
      Exponential functions
      applies the functionstd::exp to each element of valarray
      (function template)[edit]
      applies the functionstd::log to each element of valarray
      (function template)[edit]
      applies the functionstd::log10 to each element of valarray
      (function template)[edit]
      Power functions
      applies the functionstd::pow to two valarrays or a valarray and a value
      (function template)[edit]
      applies the functionstd::sqrt to each element of valarray
      (function template)[edit]
      Trigonometric functions
      applies the functionstd::sin to each element of valarray
      (function template)[edit]
      applies the functionstd::cos to each element of valarray
      (function template)[edit]
      applies the functionstd::tan to each element of valarray
      (function template)[edit]
      applies the functionstd::asin to each element of valarray
      (function template)[edit]
      applies the functionstd::acos to each element of valarray
      (function template)[edit]
      applies the functionstd::atan to each element of valarray
      (function template)[edit]
      applies the functionstd::atan2 to a valarray and a value
      (function template)[edit]
      Hyperbolic functions
      applies the functionstd::sinh to each element of valarray
      (function template)[edit]
      applies the functionstd::cosh to each element of valarray
      (function template)[edit]
      applies the functionstd::tanh to each element of valarray
      (function template)[edit]

      [edit]Synopsis

      #include <initializer_list> namespace std{template<class T>class valarray;// An array of type Tclass slice;// a BLAS-like slice out of an arraytemplate<class T>class slice_array;class gslice;// a generalized slice out of an arraytemplate<class T>class gslice_array;template<class T>class mask_array;// a masked arraytemplate<class T>class indirect_array;// an indirected array template<class T>void swap(valarray<T>&, valarray<T>&)noexcept; template<class T> valarray<T> operator*(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator*(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator*(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator/(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator/(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator/(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator%(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator%(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator%(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator+(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator+(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator+(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator-(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator-(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator-(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator^(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator^(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator^(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator&(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator&(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator&(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator|(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator|(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator|(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator<<(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator<<(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator<<(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> operator>>(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> operator>>(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> operator>>(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<bool> operator&&(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator&&(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator&&(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<bool> operator||(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator||(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator||(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<bool> operator==(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator==(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator==(consttypename valarray<T>::value_type&,const valarray<T>&);template<class T> valarray<bool> operator!=(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator!=(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator!=(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<bool> operator<(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator<(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator<(consttypename valarray<T>::value_type&,const valarray<T>&);template<class T> valarray<bool> operator>(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator>(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator>(consttypename valarray<T>::value_type&,const valarray<T>&);template<class T> valarray<bool> operator<=(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator<=(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator<=(consttypename valarray<T>::value_type&,const valarray<T>&);template<class T> valarray<bool> operator>=(const valarray<T>&,const valarray<T>&);template<class T> valarray<bool> operator>=(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<bool> operator>=(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> abs(const valarray<T>&);template<class T> valarray<T> acos(const valarray<T>&);template<class T> valarray<T> asin(const valarray<T>&);template<class T> valarray<T> atan(const valarray<T>&); template<class T> valarray<T> atan2(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> atan2(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> atan2(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> cos(const valarray<T>&);template<class T> valarray<T> cosh(const valarray<T>&);template<class T> valarray<T> exp(const valarray<T>&);template<class T> valarray<T> log(const valarray<T>&);template<class T> valarray<T> log10(const valarray<T>&); template<class T> valarray<T> pow(const valarray<T>&,const valarray<T>&);template<class T> valarray<T> pow(const valarray<T>&,consttypename valarray<T>::value_type&);template<class T> valarray<T> pow(consttypename valarray<T>::value_type&,const valarray<T>&); template<class T> valarray<T> sin(const valarray<T>&);template<class T> valarray<T> sinh(const valarray<T>&);template<class T> valarray<T> sqrt(const valarray<T>&);template<class T> valarray<T> tan(const valarray<T>&);template<class T> valarray<T> tanh(const valarray<T>&); template<class T>/* unspecified1 */ begin(valarray<T>& v);template<class T>/* unspecified2 */ begin(const valarray<T>& v);template<class T>/* unspecified1 */ end(valarray<T>& v);template<class T>/* unspecified2 */ end(const valarray<T>& v);}

      [edit]Class templatestd::valarray

      namespace std{template<class T>class valarray{public:using value_type= T; // construct/destroy    valarray();explicit valarray(size_t);    valarray(const T&, size_t);    valarray(const T*, size_t);    valarray(const valarray&);    valarray(valarray&&)noexcept;    valarray(const slice_array<T>&);    valarray(const gslice_array<T>&);    valarray(const mask_array<T>&);    valarray(const indirect_array<T>&);    valarray(initializer_list<T>);    ~valarray(); // assignment    valarray& operator=(const valarray&);    valarray& operator=(valarray&&)noexcept;    valarray& operator=(initializer_list<T>);    valarray& operator=(const T&);    valarray& operator=(const slice_array<T>&);    valarray& operator=(const gslice_array<T>&);    valarray& operator=(const mask_array<T>&);    valarray& operator=(const indirect_array<T>&); // element accessconst T&          operator[](size_t)const;    T&                operator[](size_t); // subset operations    valarray          operator[](slice)const;    slice_array<T>    operator[](slice);    valarray          operator[](const gslice&)const;    gslice_array<T>   operator[](const gslice&);    valarray          operator[](const valarray<bool>&)const;    mask_array<T>     operator[](const valarray<bool>&);    valarray          operator[](const valarray<size_t>&)const;    indirect_array<T> operator[](const valarray<size_t>&); // unary operators    valarray operator+()const;    valarray operator-()const;    valarray operator~()const;    valarray<bool> operator!()const; // compound assignment    valarray& operator*=(const T&);    valarray& operator/=(const T&);    valarray& operator%=(const T&);    valarray& operator+=(const T&);    valarray& operator-=(const T&);    valarray& operator^=(const T&);    valarray& operator&=(const T&);    valarray& operator|=(const T&);    valarray& operator<<=(const T&);    valarray& operator>>=(const T&);     valarray& operator*=(const valarray&);    valarray& operator/=(const valarray&);    valarray& operator%=(const valarray&);    valarray& operator+=(const valarray&);    valarray& operator-=(const valarray&);    valarray& operator^=(const valarray&);    valarray& operator|=(const valarray&);    valarray& operator&=(const valarray&);    valarray& operator<<=(const valarray&);    valarray& operator>>=(const valarray&); // member functionsvoid swap(valarray&)noexcept;     size_t size()const;     T sum()const;    T min()const;    T max()const;     valarray shift(int)const;    valarray cshift(int)const;    valarray apply(T func(T))const;    valarray apply(T func(const T&))const;void resize(size_t sz, T c= T());}; template<class T, size_t cnt> valarray(const T(&)[cnt], size_t)-> valarray<T>;}

      [edit]Classstd::slice

      namespace std{class slice{public:    slice();    slice(size_t, size_t, size_t);     size_t start()const;    size_t size()const;    size_t stride()const; friendbool operator==(const slice& x,const slice& y);};}

      [edit]Class templatestd::slice_array

      namespace std{template<class T>class slice_array{public:using value_type= T; void operator=(const valarray<T>&)const;void operator*=(const valarray<T>&)const;void operator/=(const valarray<T>&)const;void operator%=(const valarray<T>&)const;void operator+=(const valarray<T>&)const;void operator-=(const valarray<T>&)const;void operator^=(const valarray<T>&)const;void operator&=(const valarray<T>&)const;void operator|=(const valarray<T>&)const;void operator<<=(const valarray<T>&)const;void operator>>=(const valarray<T>&)const;     slice_array(const slice_array&);    ~slice_array();const slice_array& operator=(const slice_array&)const;void operator=(const T&)const;     slice_array()= delete;// as implied by declaring copy constructor above};}

      [edit]Classstd::gslice

      namespace std{class gslice{public:    gslice();    gslice(size_t s,const valarray<size_t>& l,const valarray<size_t>& d);     size_t           start()const;    valarray<size_t> size()const;    valarray<size_t> stride()const;};}

      [edit]Class templatestd::gslice_array

      namespace std{template<class T>class gslice_array{public:using value_type= T; void operator=(const valarray<T>&)const;void operator*=(const valarray<T>&)const;void operator/=(const valarray<T>&)const;void operator%=(const valarray<T>&)const;void operator+=(const valarray<T>&)const;void operator-=(const valarray<T>&)const;void operator^=(const valarray<T>&)const;void operator&=(const valarray<T>&)const;void operator|=(const valarray<T>&)const;void operator<<=(const valarray<T>&)const;void operator>>=(const valarray<T>&)const;     gslice_array(const gslice_array&);    ~gslice_array();const gslice_array& operator=(const gslice_array&)const;void operator=(const T&)const;     gslice_array()= delete;// as implied by declaring copy constructor above};}

      [edit]Class templatestd::mask_array

      namespace std{template<class T>class mask_array{public:using value_type= T; void operator=(const valarray<T>&)const;void operator*=(const valarray<T>&)const;void operator/=(const valarray<T>&)const;void operator%=(const valarray<T>&)const;void operator+=(const valarray<T>&)const;void operator-=(const valarray<T>&)const;void operator^=(const valarray<T>&)const;void operator&=(const valarray<T>&)const;void operator|=(const valarray<T>&)const;void operator<<=(const valarray<T>&)const;void operator>>=(const valarray<T>&)const;     mask_array(const mask_array&);    ~mask_array();const mask_array& operator=(const mask_array&)const;void operator=(const T&)const;     mask_array()= delete;// as implied by declaring copy constructor above};}

      [edit]Class templatestd::indirect_array

      namespace std{template<class T>class indirect_array{public:using value_type= T; void operator=(const valarray<T>&)const;void operator*=(const valarray<T>&)const;void operator/=(const valarray<T>&)const;void operator%=(const valarray<T>&)const;void operator+=(const valarray<T>&)const;void operator-=(const valarray<T>&)const;void operator^=(const valarray<T>&)const;void operator&=(const valarray<T>&)const;void operator|=(const valarray<T>&)const;void operator<<=(const valarray<T>&)const;void operator>>=(const valarray<T>&)const;     indirect_array(const indirect_array&);    ~indirect_array();const indirect_array& operator=(const indirect_array&)const;void operator=(const T&)const;     indirect_array()= delete;// as implied by declaring copy constructor above};}

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 125C++98the return type ofvalarray<T>::operator!()
      wasvalarray<T> in the synopsis
      corrected tovalarray<bool>
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/valarray&oldid=164069"

      [8]ページ先頭

      ©2009-2025 Movatter.jp