Aracılığıyla paylaş


gslice_array Class

İşlemleri genel bir valarray dilim tarafından tanımlanan alt diziler arasında sağlayarak genel dilim nesneleri destekliyorsa, yardımcı iç şablon sınıfı.

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
}

Notlar

Sınıf nesnesine bir başvuruyu saklar bir nesneyi tanımlayan va sınıfının valarray<Type>, bir nesne ile birlikte gs sınıfı gslice seçmek için öğelerin sırasını açıklar valarray <Type> nesne.

Yapısı, bir gslice_array <Type> nesne yalnızca bir deyim yazarak va [gs. Karşılık gelen işlev imzalar için tanımlanan gibi üye işlevlerini sınıfı gslice_array sonra çalışmalarını valarray <Type>, seçilen öğelerin sırasını etkilenen olmasıdır.

Şablon sınıfını belirli valarray işlemleri tarafından dolaylı olarak oluşturulur ve doğrudan programda kullanılan. İç yardımcı şablon sınıfı yerine dilim alt indis operatörü tarafından kullanılır:

gslice_array<Türü> valarray<Type>::operator[] (constgslice&).

Yapısı, bir gslice_array <Type> nesne yalnızca bir deyim yazarak va [gsl, bir dilim için gsl valarray, va. Karşılık gelen işlev imzalar için tanımlanan gibi üye işlevlerini sınıfı gslice_array sonra çalışmalarını valarray <Type>, seçilen öğelerin sırasını etkilenen olmasıdır. Gslice_array tarafından denetlenen sırası ilk dilimin her dilim ve her dilimi öğeleri arasındaki mesafeyi öğe sayısı, ilk öğenin endeksini dilim kurucu üç parametre tarafından 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

İndisler yordam geçerli olması geçerli olması gerekir.

Örnek

Örnek için bkz: gslice::gslice nasıl bildirmek ve bir slice_array örneği için.

Gereksinimler

Başlık: <valarray>

Namespace: std

Ayrıca bkz.

Başvuru

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