다음을 통해 공유


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의 개체 gsvalarray<Type> 설명합니다.

va[gs]gslice_array<Type> 식을 작성해야만 개체를 생성합니다. 그런 다음 클래스 gslice_array 의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>해당 함수 서명처럼 동작합니다.

클래스 템플릿은 특정 valarray 작업에 의해 간접적으로 생성되며 프로그램에서 직접 사용할 수 없습니다. 대신 내부 보조 클래스 템플릿은 아래 첨자 연산자 slice 에서 사용됩니다.

gslice_array<Type> valarray<Type>::operator[]( const gslice& ).

에 대한 폼의 식을 작성해야만 개체를 생성 gslice_array<Type> 합니다 slicevagslvalarray.va[gsl] 그런 다음 클래스 gslice_array 의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>해당 함수 서명처럼 동작합니다. 제어되는 gslice_array 시퀀스는 생성자의 세 매개 변수slice, 첫 번째 요소의 인덱스, 각 요소slice의 수 및 각 sliceslice요소 간의 거리에 의해 정의됩니다.

다음 예제에서

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

참고 항목

C++ 표준 라이브러리의 스레드 안전성