Aracılığıyla paylaş


gslice_array sınıfı

bir öğesinin genel dilimi tarafından tanımlanan alt küme dizileri arasında işlemler sağlayarak genel valarraydilim 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ı gslicenesnesini 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 vava[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 slicesliceiç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

Ayrıca bkz.

C++ Standart Kitaplığı'nda iş parçacığı güvenliği