gslice_array 類別
支援一般配量之內部,其他的樣板類別透過在一般切割定義的子集陣列之間的作業物件 valarray。
template<class Type>
class gslice_array : public gsplice {
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> 物件中選取類別 gslice 的 gs 一起說明儲存物件類別 valarray<Type>va 的參考的物件。
您可以撰寫表單 VA [] gs的運算式只建構 gslice_array<Type> 物件。 gslice_array 類別的成員函式接著會與對應的函式簽章定義為 valarray<Type>,不過,選取的項目序列只會受到影響。
樣板類別由某些 valarray 作業直接在程式間接建置,因此無法使用。 切割註標運算子使用內部輔助樣板類別:
gslice_array<valarray<[型別]>[型別]>::const operator[] (gslice&)。
您可以撰寫表單 **va[gsl]**的運算式只建構 gslice_array<Type> 物件,預設的 gsl valarray va。 gslice_array 類別的成員函式接著會與對應的函式簽章定義為 valarray<Type>,不過,選取的項目序列只會受到影響。 順序由 gslice_array 由預設建構函式、索引在第一個切割區段的第一個項目,數目的在每個切割的項目和項目之間距離的三個參數定義在每個切割。
在下列範例中:
const size_t lv[] = {2, 3};
const size_t dv[] = {7, 2};
const valarray<size_t> len(lv, 2), str(dv, 2);
// va[gslice(3, len, str)] selects elements with
// indices 3, 5, 7, 10, 12, 14
索引必須是有效才能程序可以有效。
範例
中的 gslice::gslice 參閱本範例說明如何宣告和使用 slice_array。
需求
標頭: <valarray>
命名空間: std