다음을 통해 공유


array_view 클래스

위에 다른 컨테이너에 보관 된 데이터를 N 차원 뷰를 나타냅니다.

template <
   typename _Value_type,
   int _Rank = 1
>
class array_view : public _Array_view_base<_Rank,sizeof(_Value_type)/sizeof(int)>;
                     
template <
   typename _Value_type,
   int _Rank                     
>
class array_view<const _Value_type, _Rank> : public _Array_view_base<_Rank,sizeof(_Value_type)/sizeof(int)>;

매개 변수

  • _Value_type
    데이터 형식 요소에 array_view 개체입니다.

  • _Rank
    순위는 array_view 개체입니다.

Members

Hh305260.collapse_all(ko-kr,VS.110).gifPublic 생성자

Name

설명

array_view::array_view 생성자

array_view 클래스의 새 인스턴스를 초기화합니다.기본 생성자는 array<T,N>.모든 생성자는 CPU에서 실행 하도록 제한 됩니다 및 Direct3D 대상에서 실행할 수 없습니다.

array_view::~array_view 소멸자

array_view 개체를 소멸시킵니다.

Hh305260.collapse_all(ko-kr,VS.110).gifPublic 메서드

Name

설명

array_view::copy_to 메서드

내용을 복사 하는 array_view 를 호출 하 여 지정 된 대상 개체 copy(*this, dest).

array_view::data 메서드

원시 데이터에 대 한 포인터를 반환의 array_view.

array_view::discard_data 메서드

현재이 보기의 원본 데이터를 삭제 합니다.

array_view::get_extent 메서드

Array_view 개체의 개체 범위를 반환합니다.

array_view::refresh 메서드

Array_view는 알립니다 array_view 인터페이스 외부 메모리 바운드 수정 된 개체입니다.이 메서드를 호출 하는 모든 캐시 된 정보가 부실 렌더링합니다.

array_view::reinterpret_as 메서드

모든 요소를 포함 하는 1 차원 배열을 반환의 array_view 개체입니다.

array_view::section 메서드

하위 계층의 반환은 array_view 지정한 원본 이며는, 필요에 따라 개체에 지정한 범위 있습니다.

array_view::synchronize 메서드

수정 사항을 array_view 개체의 원본 데이터를 다시 동기화 합니다.

array_view::synchronize_async 메서드

수정 내용을 비동기적으로 동기화는 array_view 개체를 해당 원본 데이터에 다시 합니다.

array_view::view_as 메서드

생성 된 array_view 개체를 사용 하 여 다른 순위 array_view 개체의 데이터입니다.

Hh305260.collapse_all(ko-kr,VS.110).gifPublic 연산자

Name

설명

array_view::operator() 연산자

매개 변수 또는 매개 변수에 의해 지정 된 요소의 값을 반환 합니다.

array_view::operator[] 연산자

매개 변수에 의해 지정 된 요소를 반환 합니다.

array_view::operator= 연산자

지정한 내용을 복사 array_view 개체로이 하나 있습니다.

Hh305260.collapse_all(ko-kr,VS.110).gif공용 상수

Name

설명

array_view::rank 상수

차수가 저장의 array_view 개체입니다.

Hh305260.collapse_all(ko-kr,VS.110).gif데이터 멤버

Name

설명

array_view::extent 데이터 멤버

가져옵니다는 extent 의 모양을 정의 하는 개체는 array_view 개체입니다.

설명

array_view 보기에 포함 된 데이터를 나타내는 클래스는 배열 개체 또는 하위 계층의는 array 개체.

액세스할 수 있는 array_view 원본 데이터 (로컬로) 위치는 다른 액셀러레이터 키 또는 일관성 도메인 개체 (원격으로).원격 개체를 액세스할 때 보기 복사 하 고 필요에 따라 캐시 됩니다.자동 캐시의 효과를 제외 하 고 array_view 개체에 비슷한 성능 프로 array 개체입니다.뷰를 통해 데이터에 액세스 하는 경우 성능이 약간 저하가 됩니다.

세 가지 원격 사용 시나리오입니다.

  • 보기 시스템 메모리 포인터를 통해 전달 되는 parallel_for_each 액셀러레이터를 호출 하 고 액셀러레이터 키에 액세스 합니다.

  • 보기에 액셀러레이터 있는 배열에 의해 전달 되는 parallel_for_each 다른 가속기를 호출 하 고 액세스할 수 있습니다.

  • 보기에 있는 액셀러레이터 키에서 배열 CPU에 액세스할 수 있습니다.

이러한 시나리오 중 하나에서 참조 된 뷰 런타임에 의해 원격 위치로 복사 됩니다 및 수정에 대 한 호출을 array_view 개체, 로컬 위치로 복사 됩니다.런타임에 변경 내용을 다시 복사 하는 프로세스 최적화 될 수 있습니다, 변경 된 요소를 복사할 수 있습니다 또는 변경 되지 않은 부분을 또한 복사할 수도 있습니다.겹치는 array_view 하나의 데이터 원본에서 개체를 원격 위치에 참조 무결성을 유지 하도록 보장 됩니다.

동일한 데이터 소스에는 다중 스레드 액세스를 동기화 해야 합니다.

공용 언어 런타임은 캐시의 데이터에 대 한의 다음 보장이 array_view 개체:

  • 모든 well-synchronized에 액세스 하는 array 개체 및 array_view 프로그램 순서 대로 개체를 따르는 직렬 발생-관계 전.

  • 모든 well-synchronized에 액세스 하려면 겹치는 array_view 개체에 하나의 동일한 가속기에 array 개체는 통해 별칭의 array 개체.이들은 전체 유도 발생-전 프로그램을 순서 대로 따르는 관계.캐싱 안 함입니다.경우는 array_view 개체 다른 액셀러레이터 키에서 실행 되 고 액세스 순서 만들기 경쟁 조건이 정의 되어 있지 않습니다.

만들 때는 array_view 시스템 메모리에 대 한 포인터를 사용 하 여 개체의 뷰를 변경 해야 array_view 만 통해 개체는 array_view 포인터.또는 호출 해야 refresh()중 하나는 array_view 내부 네이티브 메모리를 직접 대신 통해 변경 되 면 시스템 포인터에 연결 된 개체는 array_view 개체입니다.둘 중 어느 쪽을 알리는 array_view 내부 네이티브 메모리 변경 하 고 액셀러레이터 키에 있는 복사본 오래 된 개체입니다.이러한 지침을 따를 경우 포인터 기반 보기 보기에 병렬 데이터 배열 제공 동일 합니다.

상속 계층 구조

_Array_view_shape

_Array_view_base

array_view

요구 사항

헤더: amp.h

네임스페이스: 동시성

참고 항목

참조

Concurrency 네임스페이스(C++ AMP)