winrt::vector_base 구조체 템플릿(C++/WinRT)
관찰할 수 없는 사용자 지정 범용 컬렉션을 구현하기 위해 파생할 수 있는 기본 클래스입니다. 자세한 정보 및 코드 예제는 C++/WinRT를 사용하는 컬렉션을 참조하세요.
구문
template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>
템플릿 매개 변수
typename D
파생 형식 이름입니다.
typename T
vector_base 요소의 형식입니다.
요구 사항
지원되는 최소 SDK: Windows SDK 버전 10.0.17763.0(Windows 10, 버전 1809)
네임스페이스: winrt
헤더: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h(기본적으로 포함)
멤버 함수
기능 | 설명 |
---|---|
vector_base::Append 함수 | vector_base 개체의 끝에 요소를 추가합니다. |
vector_base::Clear 함수 | vector_base 개체에서 모든 요소를 제거합니다. |
vector_base::First 함수 | vector_base 개체의 첫 번째 요소를 나타내는 IIterator를 검색합니다. |
vector_base::GetAt 함수 | vector_base 개체의 지정된 인덱스에 있는 요소를 검색합니다. |
vector_base::GetMany 함수 | 지정된 인덱스에서 시작하는 vector_base 개체의 요소 컬렉션을 검색합니다. |
vector_base::GetView 함수 | vector_base 개체의 변경할 수 없는 뷰를 검색합니다. |
vector_base::IndexOf 함수 | vector_base 개체에서 지정된 요소의 인덱스를 검색합니다. |
vector_base::InsertAt 함수 | vector_base 개체의 지정된 인덱스에 요소를 삽입합니다. |
vector_base::RemoveAt 함수 | vector_base 개체의 지정된 인덱스에 있는 요소를 제거합니다. |
vector_base::RemoveAtEnd 함수 | vector_base 개체에서 마지막 요소를 제거합니다. |
vector_base::ReplaceAll 함수 | vector_base 개체의 모든 요소를 지정된 요소로 바꿉니다. |
vector_base::SetAt 함수 | vector_base 개체의 지정된 인덱스에서 요소의 값을 설정합니다. |
vector_base::Size 함수 | vector_base 개체의 요소 수를 검색합니다. |
반복기
vector_base 범위이며 해당 범위는 표준 언어 기능과 호환되는 내부 자유 함수(각각 반복기를 검색)에 의해 정의됩니다. 따라서 범위 기반 for
문을 사용하여 vector_base 개체의 요소를 열거할 수 있습니다.
vector_base::First 함수에서 IIterator를 검색하고 이를 사용하여 vector_base 개체의 요소를 반복할 수도 있습니다.
...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVector :
implements<MyVector, IVector<float>, IVectorView<float>, IIterable<float>>,
winrt::vector_base<MyVector, float>
{
auto& get_container() const noexcept
{
return m_values;
}
auto& get_container() noexcept
{
return m_values;
}
private:
std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVector<float> coll{ winrt::make<MyVector>() };
for (auto const& el : coll)
{
std::wcout << el << std::endl;
}
IIterator<float> it{ coll.First() };
while (it.HasCurrent())
{
std::wcout << it.Current() << std::endl;
it.MoveNext();
}
vector_base::Append 함수
vector_base 개체의 끝에 요소를 추가합니다.
구문
void Append(T const& value);
매개 변수
value
추가할 요소입니다.
vector_base::Clear 함수
vector_base 개체에서 모든 요소를 제거합니다.
구문
void Clear() noexcept;
vector_base::First 함수
vector_base 개체의 첫 번째 요소를 나타내는 IIterator를 검색합니다.
구문
auto First();
반환 값
vector_base 개체의 첫 번째 요소를 나타내는 IIterator입니다.
vector_base::GetAt 함수
vector_base 개체의 지정된 인덱스에 있는 요소를 검색합니다.
구문
T GetAt(uint32_t const index) const;
매개 변수
index
0부터 시작하는 요소 인덱스입니다.
반환 값
vector_base 개체의 지정된 인덱스 요소입니다.
vector_base::GetMany 함수
지정된 인덱스에서 시작하는 vector_base 개체의 요소 컬렉션을 검색합니다.
구문
uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;
매개 변수
startIndex
시작할 0부터 시작하는 요소 인덱스입니다.
values
항목을 복사할 array_view .
반환 값
검색된 요소 수를 나타내는 값입니다.
vector_base::GetView 함수
vector_base 개체의 변경할 수 없는 뷰를 검색합니다.
구문
winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;
반환 값
vector_base 변경할 수 없는 보기를 포함하는 IVectorView입니다.
vector_base::IndexOf 함수
vector_base 개체에서 지정된 요소의 인덱스를 검색합니다.
구문
bool IndexOf(T const& value, uint32_t& index) const noexcept;
매개 변수
value
찾을 vector_base 개체의 요소입니다.
index
요소가 발견되면 요소의 인덱스(0부터 시작하는 인덱스)이고, 그렇지 않으면 vector_base 개체의 요소 수입니다.
반환 값
true
요소가 있으면 이고, 그렇지 않으면 false
.입니다.
vector_base::InsertAt 함수
vector_base 개체의 지정된 인덱스에 요소를 삽입합니다.
구문
void InsertAt(uint32_t const index, T const& value);
매개 변수
index
요소를 삽입할 인덱스(0부터 시작하는 인덱스)입니다.
value
삽입할 요소입니다.
vector_base::RemoveAt 함수
vector_base 개체의 지정된 인덱스에 있는 요소를 제거합니다.
구문
void RemoveAt(uint32_t const index);
매개 변수
index
제거할 요소의 인덱스(0부터 시작하는 인덱스)입니다.
vector_base::RemoveAtEnd 함수
vector_base 개체에서 마지막 요소를 제거합니다.
구문
void RemoveAtEnd();
vector_base::ReplaceAll 함수
vector_base 개체의 모든 요소를 지정된 요소로 바꿉니다.
구문
void ReplaceAll(array_view<T const> value);
매개 변수
value
새 요소가 포함된 array_view .
vector_base::SetAt 함수
vector_base 개체의 지정된 인덱스에서 요소 값을 설정합니다.
구문
void SetAt(uint32_t const index, T const& value);
매개 변수
index
값을 설정할 요소의 인덱스(0부터 시작하는 인덱스)입니다.
value
설정할 요소 값입니다.
vector_base::Size 함수
vector_base 개체의 요소 수를 검색합니다.
구문
uint32_t Size() const noexcept;
반환 값
vector_base 개체의 요소 수를 나타내는 값입니다.