Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Třída
Interní pomocné šablony třídy, která podporuje obecné objekty řezu poskytováním operací mezi poli podmnožina definovanými obecným řezem valarray.
Syntaxe
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
};
Poznámky
Třída popisuje objekt, který ukládá odkaz na objekt va třídy valarray<Type>, spolu s objektem gs třídy gslice, který popisuje posloupnost prvků vybrat z objektu valarray<Type> .
Objekt vytvoříte gslice_array<Type> pouze zápisem výrazu formuláře va[gs]. Členské funkce třídy gslice_array se pak chovají jako odpovídající podpisy funkce definované pro valarray<Type>, s tím rozdílem, že je ovlivněna pouze posloupnost vybraných prvků.
Šablona třídy je vytvořená nepřímo určitými valarray operacemi a nelze ji použít přímo v programu. Místo toho se používá interní pomocná šablona třídy operátorem dolního indexu slice :
gslice_array<Type> valarray<Type>::operator[]( const gslice& ).
Objekt vytvoříte gslice_array<Type> pouze zápisem výrazu formuláře va[gsl], pro znak .slice gsl valarray va Členské funkce třídy gslice_array se pak chovají jako odpovídající podpisy funkce definované pro valarray<Type>, s tím rozdílem, že je ovlivněna pouze posloupnost vybraných prvků. Posloupnost řízená objektem je definována gslice_array třemi parametry konstruktoru slice , indexem prvního prvku v prvním slice, počtem prvků v každém slicea vzdáleností mezi prvky v každém slice.
V následujícím příkladu:
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
Indexy musí být platné, aby postup byl platný.
Příklad
Příklad toho, jak deklarovat a používat slice_array, najdete v příkladu gslice::gslice .
Požadavky
Header:<valarray>
Obor názvů: std