最終更新日時(UTC):
が更新

履歴 編集

<valarray>

valarray

<valarray>ヘッダは、数値計算に特化した配列クラスである valarray と、基礎的な数学的処理を行うための関数オーバーロードを定義したライブラリである。

このヘッダで定義される任意の valarray<T> 型を返す関数は(メンバ関数、非メンバ関数とも)、式テンプレートでの実装を可能とするため valarray<T> 型以外の代理の型を返すことが規格で許可されている。 このような代理の型には、valarray の全ての const メンバ関数が提供される。 また、このような代理の型を提供する処理系では、以下のような関数も提供される。

  • 本ヘッダで提供される、const valarray<T>& を 1 つだけ引数に持つ全ての関数は、提供される代理の型も引数として受け付ける。
    (ただし、beginend を除く)
  • 本ヘッダで提供される、const valarray<T>& を 2 つ引数に持つ全ての関数は、当該代理の型と valarray<T> の任意の組み合わせも引数として受け付ける。

これらを踏まえ、本リファレンスではこれらの代理の型が使用されうる箇所は ValOrProxy として表記している。戻り値型に ValOrProxy と表記している箇所は、valarray<T> か代理の型のいずれかであることを、引数型に ValOrProxy と表記している箇所は、valarray<T> と代理の型のいずれでも受け取ることが可能であることを表している。

このヘッダでは、以下の標準ヘッダをインクルードする:

配列クラス

クラス 説明 対応バージョン
valarray 数値演算に特化した配列クラス

スライス指示

以下は、valarrayクラスの配列から条件一致した要素を抽出するための、ヘルパークラスである。

クラス 説明 対応バージョン
slice スライス指示用のヘルパークラス
gslice sliceをより一般化したスライス指示用のヘルパークラス

スライス結果の配列クラス

以下は、valarrayクラスのoperator[]メンバ関数によって返される、スライス結果の配列クラスである。これらのクラスは、配列のコピーは保持せず、元となるvalarrayオブジェクトの要素を参照する。

クラス 説明 対応バージョン
slice_array valarrayからsliceによって要素抽出した結果となる配列クラス
gslice_array valarrayからgsliceによって要素抽出した結果となる配列クラス
mask_array valarrayからvalarray<bool>を指定して要素抽出した結果となる配列クラス
indirect_array valarrayからvalarray<size_t>を指定して要素抽出した結果となる配列クラス

参照