slice_array クラス

のスライスvalarrayによって定義されたサブセット配列間のslice操作を提供することによってオブジェクトをサポートする、内部の補助クラス テンプレート。

構文

template <class Type>
class slice_array : public slice {
public:
    typedef Type value_type;
    void operator=(const valarray<Type>& x) const;
    void operator=(const Type& x) const;
    void operator*=(const valarray<Type>& x) const;
    void operator/=(const valarray<Type>& x) const;
    void operator%=(const valarray<Type>& x) const;
    void operator+=(const valarray<Type>& x) const;
    void operator-=(const valarray<Type>& x) const;
    void operator^=(const valarray<Type>& x) const;
    void operator&=(const valarray<Type>& x) const;
    void operator|=(const valarray<Type>& x) const;
    void operator<<=(const valarray<Type>& x) const;
    void operator>>=(const valarray<Type>& x) const;
    // The rest is private or implementation defined
}

注釈

このクラスは、クラス valarray<Type>のオブジェクトへの参照を格納するオブジェクトと、オブジェクトから選択する要素のシーケンスを記述するクラス sliceのオブジェクトを valarray<Type> 記述します。

クラス テンプレートは、特定 valarray の操作によって間接的に作成され、プログラムで直接使用することはできません。 添字演算子によって slice 使用される内部補助クラス テンプレート:

slice_array<Type> valarray<Type>::operator[]( slice ).

slice_array<Type> オブジェクトを構築するには、va[sl] の形式で valarray va のスライス sl に対して式を記述するだけです。 slice_array クラスのメンバー関数は、valarray<Type> に対して定義されている、対応する関数のシグネチャのように動作しますが、選択された要素のシーケンスのみが影響を受ける点が異なります。 によって slice_array 制御されるシーケンスは、コンストラクターの slice 3 つのパラメーター、その中の最初の要素のインデックス、要素 sliceの数、および要素間の距離によって定義されます。 slice_array 2、5、8、11、および 14 のインデックスを持つ要素を選択して宣言されたva[slice(2, 5, 3)]切り取りvalarrayvava プロシージャが有効であるためには、これらのインデックスが有効である必要があります。

を宣言して使用する方法の例については、例 slice::slice を参照 slice_arrayしてください。

要件

ヘッダー:<valarray>

名前空間:

こちらもご覧ください

C++ 標準ライブラリのスレッド セーフ