gslice_array
sınıfı
bir öğesinin genel dilimi tarafından tanımlanan alt küme dizileri arasında işlemler sağlayarak genel valarray
dilim nesnelerini destekleyen iç, yardımcı sınıf şablonu.
Sözdizimi
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
}
Açıklamalar
sınıfı, sınıfın nesnesine başvuruyu depolayan bir nesneyi va
valarray<Type>
gs
ve nesneden valarray<Type>
seçebileceğiniz öğe dizisini açıklayan sınıfı gslice
nesnesini açıklar.
Bir nesneyi yalnızca formunun va[gs]
bir ifadesini yazarak oluşturursunuzgslice_array<Type>
. Sınıfın gslice_array
üye işlevleri, yalnızca seçili öğelerin sırasının etkilenmesi dışında, için valarray<Type>
tanımlanan karşılık gelen işlev imzaları gibi davranır.
Sınıf şablonu belirli valarray
işlemler tarafından dolaylı olarak oluşturulur ve doğrudan programda kullanılamaz. Bunun yerine bir iç yardımcı sınıf şablonu alt indis işleci tarafından slice
kullanılır:
gslice_array<Type> valarray<Type>::operator[]( const gslice& )
.
Bir gslice_array<Type>
nesneyi yalnızca için biçiminde va
va[gsl]
slice
gsl
valarray
bir ifade yazarak oluşturursunuz. Sınıfın gslice_array
üye işlevleri, yalnızca seçili öğelerin sırasının etkilenmesi dışında, için valarray<Type>
tanımlanan karşılık gelen işlev imzaları gibi davranır. tarafından gslice_array
denetlenen sıra, oluşturucunun üç parametresislice
, ilk slice
öğedeki ilk öğenin dizini, her bir içindeki öğelerin sayısı ve her slice
slice
içindeki öğeler arasındaki uzaklık ile tanımlanır.
Aşağıdaki örnekte:
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
Yordamın geçerli olması için dizinlerin geçerli olması gerekir.
Örnek
slice_array bildirme ve kullanma örneği için gslice::gslice
örneğine bakın.
Gereksinimler
Üst Bilgi:<valarray>
Ad alanı: std