次の方法で共有


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

クラス テンプレートは、特定の 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内の最初の要素のインデックス、要素の数、および要素間の距離によって定義されます。 va[slice(2, 5, 3)]によって宣言されたvalarray vaから切り取られたslice_arrayは、vaからインデックス 2、5、8、11、および 14 の要素を選択します。 プロシージャが有効であるためには、これらのインデックスが有効である必要があります。

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

要件

ヘッダー:<valarray>

名前空間: std

関連項目

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