winrt::array_view 구조체 템플릿(C++/WinRT)

연속된 일련의 값에 대한 보기 또는 범위입니다. winrt::array_view 대한 자세한 예제 및 정보는 표준 C++ 데이터 형식 및 C++/WinRT를 참조하세요.

Syntax

template <typename T>
struct array_view

템플릿 매개 변수

typename Tarray_view 보거나 포괄하는 값(요소)의 형식입니다.

요구 사항

지원되는 최소 SDK: Windows SDK 버전 10.0.17134.0(Windows 10, 버전 1803)

네임스페이스: winrt

헤더: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h(기본적으로 포함)

멤버 형식 별칭

별칭 이름 형식
array_view::value_type 템플릿 매개 변수의 동의어 typename T 입니다.
array_view::size_type uint32_t 동의어입니다.
array_view::reference array_view::value_type&의 동의어입니다.
array_view::const_reference array_view::value_type const&동의어입니다.
array_view::p ointer array_view::value_type*의 동의어입니다.
array_view::const_pointer array_view::value_type const*의 동의어입니다.
array_view::iterator array_view::value_type 구현 정의 배열 반복기의 동의어입니다.
array_view::const_iterator array_view::value_type const의 구현 정의 배열 반복기의 동의어입니다.
array_view::reverse_iterator std::reverse_iterator array_view<::iterator의 동의어입니다>.
array_view::const_reverse_iterator std::reverse_iterator array_view<::const_iterator> 동의어입니다.

생성자

생성자 Description
array_view::array_view 생성자 array_view 구조체의 새 instance 입력 데이터의 복사본이 아닌 뷰로 초기화합니다.

멤버 함수

함수 Description
array_view::at 함수 array_view 개체 내에서 지정된 위치에 있는 요소에 대한 참조를 반환합니다.
array_view::back 함수 array_view 개체의 마지막 요소에 대한 참조를 반환합니다.
array_view::begin 함수 array_view 개체의 첫 번째 요소에 대한 반복기를 반환합니다.
array_view::cbegin 함수 array_view 개체의 첫 번째 요소에 대한 const 반복기를 반환합니다.
array_view::cend 함수 const 반복기를 array_view 개체의 끝(의 마지막 요소 이외의 요소)에 반환합니다.
array_view::crbegin 함수 const 역방향 반복기를 array_view 개체의 끝(의 마지막 요소를 벗어난 반복기)으로 반환합니다.
array_view::crend 함수 array_view 개체의 첫 번째 요소에 대한 const 역방향 반복기를 반환합니다.
array_view::d ata 함수 array_view 개체에서 보는 기본 데이터에 대한 포인터를 반환합니다.
array_view::empty 함수 array_view 개체가 비어 있는지 여부를 나타내는 값을 반환합니다(요소 0의 뷰임).
array_view::end 함수 반복기를 array_view 개체의 끝(마지막 요소 이외의 요소)에 반환합니다.
array_view::front 함수 array_view 개체의 첫 번째 요소에 대한 참조를 반환합니다.
array_view::rbegin 함수 역방향 반복기를 array_view 개체의 끝(의 마지막 요소 외에 하나)으로 반환합니다.
array_view::rend 함수 array_view 개체의 첫 번째 요소에 대한 역방향 반복기를 반환합니다.
array_view::size 함수 array_view 개체의 요소 수를 반환합니다.

멤버 연산자

연산자 Description
array_view::operator[](아래 첨자 연산자) array_view 개체 내에서 지정된 위치에 있는 요소에 대한 참조를 반환합니다.

무료 연산자

연산자 Description
operator!= (같지 않음 연산자) 두 매개 변수가 서로 다른지 여부를 나타내는 값을 반환합니다.
연산자< (보다 작음 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다.
operator<= (less-than-or-equal-to 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
operator== (같음 연산자) 두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다.
연산자> (보다 큼 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다.
operator>= (greater-than-or-equal-to 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다.

Iterators

array_view 범위이며 해당 범위는 각각 반복기를 반환하는 array_view::beginarray_view::end 멤버 함수에 의해 정의됩니다(array_view::cbeginarray_view::cend 참조). 따라서 범위 기반 for 문이나 std::for_each 템플릿 함수를 사용하여 array_view 개체의 문자를 열거할 수 있습니다.

#include <iostream>
using namespace winrt;
...
template <typename T>
void Iterators(array_view<T> const& theArrayView)
{
    for (T& element : theArrayView)
    {
        std::wcout << element << " ";
    }

    std::for_each(theArrayView.cbegin(), theArrayView.cend(), [](T const& element) { std::wcout << element << " "; });
}

array_view::array_view 생성자

array_view 구조체의 새 instance 입력 데이터의 복사본이 아닌 뷰로 초기화합니다.

Syntax

array_view() noexcept;
template <typename C, uint32_t N> array_view(C(&rawArrayValue)[N]) noexcept;
template <typename C, uint32_t N> array_view(std::array<C, N> const& arrayValue) noexcept;
template <typename C, uint32_t N> array_view(std::array<C, N>& arrayValue) noexcept;
array_view(std::initializer_list<T> initializerListValue) noexcept;
template <typename C> array_view(std::vector<C> const& vectorValue) noexcept;
template <typename C> array_view(std::vector<C>& vectorValue) noexcept;
array_view(T* first, T* last) noexcept;

템플릿 매개 변수

typename C 입력 데이터의 값(요소) 형식입니다.

uint32_t N 입력 데이터의 값(요소) 수입니다.

매개 변수

rawArrayValuearray_view 개체를 초기화하는 원시 배열 값입니다.

arrayValuearray_view 개체를 초기화하는 std::array 값입니다.

initializerListValuearray_view 개체를 초기화하는 이니셜라이저 목록 값입니다.

vectorValuearray_view 개체를 초기화하는 std::vector 값입니다.

firstlastarray_view 개체를 초기화할 값에 대한 포인터입니다. 가 이lastfirstarray_view 개체가 비어 있습니다.

예제

using namespace winrt;
...
void Constructors()
{
    // array_view() noexcept
    array_view<byte const> fromDefault{};

    byte theRawArray[]{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(C(&value)[N]) noexcept
    array_view<byte const> fromRawArray{ theRawArray };

    const std::array<byte, 3> theConstArray{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(std::array<C, N>& value) noexcept
    array_view<byte const> fromConstArray{ theConstArray };

    std::array<byte, 3> theArray{ 99, 98, 97 };

    // template <typename C, uint32_t N> array_view(std::array<C, N> const& value) noexcept
    array_view<byte const> fromArray{ theArray };

    // array_view(std::initializer_list<T> value) noexcept
    array_view<byte const> fromInitializerList{ 99, 98, 97 };

    const std::vector<byte> theConstVector{ 99, 98, 97 };

    // template <typename C> array_view(std::vector<C> const& value) noexcept
    array_view<byte const> fromConstVector{ theConstVector };

    std::vector<byte> theVector{ 99, 98, 97 };

    // template <typename C> array_view(std::vector<C>& value) noexcept
    array_view<byte const> fromVector{ theVector };

    // array_view(T* first, T* last) noexcept
    array_view<byte const> fromRange{ theArray.data(), theArray.data() + 2 }; // just the first two elements.
}

array_view::at 함수

array_view 개체 내의 지정된 위치에 있는 요소에 대한 참조를 반환합니다.

구문

T& at(uint32_t const pos);
T const& at(uint32_t const pos) const;

매개 변수

pos 0부터 시작하는 요소 위치 또는 인덱스입니다.

반환 값

array_view 개체 내의 지정된 위치에 있는 요소에 대한 참조입니다.

array_view::back 함수

array_view 개체의 마지막 요소에 대한 참조를 반환합니다.

구문

T const& back() const noexcept;
T& back() noexcept;

반환 값

array_view 개체의 마지막 요소에 대한 참조입니다.

array_view::begin 함수

array_view 개체의 첫 번째 요소에 대한 반복기를 반환합니다. 반복기를 참조하세요.

구문

stdext::checked_array_iterator<T const> begin() const noexcept;
stdext::checked_array_iterator<T> begin() noexcept;

반환 값

array_view 개체의 첫 번째 요소에 대한 반복기입니다.

array_view::cbegin 함수

array_view 개체의 첫 번째 요소에 대한 const 반복기를 반환합니다. 반복기를 참조하세요.

구문

stdext::checked_array_iterator<T const> cbegin() const noexcept;

반환 값

array_view 개체의 첫 번째 요소에 대한 const 반복기입니다.

array_view::cend 함수

const 반복기를 array_view 개체의 끝(의 마지막 요소 이후)에 대한 반복기를 반환합니다. 반복기를 참조하세요.

구문

stdext::checked_array_iterator<T const> cend() const noexcept;

반환 값

array_view 개체의 끝(의 마지막 요소 이후)을 벗어나는 const 반복기입니다.

array_view::crbegin 함수

const 역방향 반복기를 array_view 개체의 끝(의 마지막 요소 이상)으로 반환합니다.

구문

std::reverse_iterator<stdext::checked_array_iterator<T const>> crbegin() const noexcept;

반환 값

const 역방향 반복기는 array_view 개체의 끝(의 마지막 요소 이후)을 벗어난 반복기입니다.

array_view::crend 함수

const 역방향 반복기를 array_view 개체의 첫 번째 요소에 반환합니다.

구문

std::reverse_iterator<stdext::checked_array_iterator<T const>> crend() const noexcept;

반환 값

array_view 개체의 첫 번째 요소에 대한 const 역방향 반복기입니다.

array_view::d ata 함수

array_view 개체에서 보는 기본 데이터에 대한 포인터를 반환합니다.

구문

T const* data() const noexcept;
T* data() noexcept;

반환 값

array_view 개체에서 볼 기본 데이터에 대한 포인터입니다.

array_view::empty 함수

array_view 개체가 비어 있는지 여부를 나타내는 값을 반환합니다(0개 요소에 대한 뷰임).

구문

bool empty() const noexcept;

반환 값

truearray_view 개체가 비어 있으면(요소 0에 대한 뷰임) 그렇지 않으면 false입니다.

array_view::end 함수

반복기를 array_view 개체의 끝(의 마지막 요소 이상)을 1로 반환합니다. 반복기를 참조하세요.

구문

stdext::checked_array_iterator<T const> end() const noexcept;
stdext::checked_array_iterator<T> end() noexcept;

반환 값

array_view 개체의 끝(의 마지막 요소 이후)에 대한 반복기입니다.

array_view::front 함수

array_view 개체의 첫 번째 요소에 대한 참조를 반환합니다.

구문

T const& front() const noexcept;
T& front() noexcept;

반환 값

array_view 개체의 첫 번째 요소에 대한 참조입니다.

array_view::operator[](아래 첨자 연산자)

array_view 개체 내의 지정된 위치에 있는 요소에 대한 참조를 반환합니다.

구문

T const& operator[](uint32_t const pos) const noexcept;
T& operator[](uint32_t const pos) noexcept;

매개 변수

pos 0부터 시작하는 요소 위치 또는 인덱스입니다.

반환 값

array_view 개체 내의 지정된 위치에 있는 요소에 대한 참조입니다.

array_view::rbegin 함수

역방향 반복기를 array_view 개체의 끝(의 마지막 요소 이상)에 대한 반복기를 반환합니다.

구문

std::reverse_iterator<stdext::checked_array_iterator<T const>> rbegin() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rbegin() noexcept;

반환 값

array_view 개체의 끝(마지막 요소 이후의 반복기)에 대한 역방향 반복기입니다.

array_view::rend 함수

array_view 개체의 첫 번째 요소에 대한 역방향 반복기를 반환합니다.

구문

std::reverse_iterator<stdext::checked_array_iterator<T const>> rend() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rend() noexcept;

반환 값

array_view 개체의 첫 번째 요소에 대한 역방향 반복기입니다.

array_view::size 함수

array_view 개체의 요소 수를 반환합니다.

구문

uint32_t size() const noexcept;

반환 값

uint32_tarray_view 개체의 요소 수를 포함하는 입니다.

operator!= (같지 않음 연산자)

두 매개 변수가 서로 같지 않은지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator!=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 두 매개 변수가 서로 같지 않으면 이고, 그렇지 않으면 false입니다.

연산자< (보다 작음 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator<(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 첫 번째 매개 변수가 두 번째 매개 변수보다 작으면 이고, 그렇지 않으면 false입니다.

operator<= (less-than-or-equal-to 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator<=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같으면 이고, 그렇지 않으면 false입니다.

operator== (같음 연산자)

두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator==(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 두 매개 변수가 서로 같으면 이고, 그렇지 않으면 false입니다.

연산자> (보다 큼 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator>(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 첫 번째 매개 변수가 두 번째 매개 변수보다 크면 이고, 그렇지 않으면 false입니다.

operator>= (greater-than-or-equal-to 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다.

구문

template <typename T> bool operator>=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;

매개 변수

leftright 다른 매개 변수와 비교할 array_view 값입니다.

반환 값

true 첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같으면 이고, 그렇지 않으면 false입니다.

추가 정보