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>
의 개체에 대한 참조를 저장하는 개체 va
와 개체에서 선택할 요소의 시퀀스를 설명하는 클래스gslice
의 개체 gs
를 valarray<Type>
설명합니다.
폼va[gs]
의 gslice_array<Type>
식을 작성해야만 개체를 생성합니다. 그런 다음 클래스 gslice_array
의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>
해당 함수 서명처럼 동작합니다.
클래스 템플릿은 특정 valarray
작업에 의해 간접적으로 생성되며 프로그램에서 직접 사용할 수 없습니다. 대신 내부 보조 클래스 템플릿은 아래 첨자 연산자 slice
에서 사용됩니다.
gslice_array<Type> valarray<Type>::operator[]( const gslice& )
.
에 대한 폼의 식을 작성해야만 개체를 생성 gslice_array<Type>
합니다 slice
va
gsl
valarray
.va[gsl]
그런 다음 클래스 gslice_array
의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>
해당 함수 서명처럼 동작합니다. 제어되는 gslice_array
시퀀스는 생성자의 세 매개 변수slice
, 첫 번째 요소의 인덱스, 각 요소slice
의 수 및 각 slice
slice
요소 간의 거리에 의해 정의됩니다.
다음 예제에서
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
인덱스가 유효해야 프로시저도 유효합니다.
예시
slice_array 선언하고 사용하는 방법에 대한 gslice::gslice
예제는 예제를 참조하세요.
요구 사항
헤더:<valarray>
네임스페이스: std