Platform::Collections::Vector クラス

インデックスによって個別にアクセスできるオブジェクトのシーケンシャル コレクションを表します。 XAML データ バインディングを支援するために Windows::Foundation::Collections::IObservableVector を実装します。

構文

template <typename T, typename E>
   ref class Vector sealed;

パラメーター

T
Vector オブジェクトに含まれている要素の型。

E
T の値との等価性をテストするためのバイナリ述語を指定します。既定値は std::equal_to<T> です。

解説

使用できる型は次のとおりです。

  1. integers

  2. インターフェイス クラス^

  3. パブリック ref クラス ^

  4. value struct

  5. パブリック列挙型クラス

Vector クラスは、Windows::Foundation::Collections::IVector インターフェイスに関する C++ の具象実装です。

パブリックの戻り値またはパラメーターで Vector 型を使用しようとすると、コンパイラ エラー C3986 が発生します。 このエラーを修正するには、パラメーターまたは戻り値の型を Windows::Foundation::Collections::IVectorに変更します。 詳細については、「 Collections (C++/CX) (コレクション (C++/CX))」を参照してください。

メンバー

パブリック コンストラクター

名前 説明
Vector::Vector ベクター クラスの新しいインスタンスを初期化します。

パブリック メソッド

名前 説明
Vector::Append 指定された項目を、現在の Vector の最後の項目の後に挿入します。
Vector::Clear 現在のベクター内のすべての要素を削除します。
Vector::First Vector 内の最初の要素を指定する反復子を返します。
Vector::GetAt 指定されたインデックスで識別される現在のベクターの要素を取得します。
Vector::GetMany 指定されたインデックスを開始位置として、現在の Vector から項目のシーケンスを取得します。
Vector::GetView ベクターの読み取り専用ビュー、つまり Platform::Collections::VectorViewを返します。
Vector::IndexOf 現在のベクター内で指定された項目を検索し、見つかった場合は項目のインデックスを返します。
Vector::InsertAt 指定されたインデックスによって識別される要素で、現在のベクターに指定された項目を挿入します。
Vector::ReplaceAll 現在のベクターの要素を削除し、指定された配列の要素を挿入します。
Vector::RemoveAt 現在のベクターから指定されたインデックスで識別される要素を削除します。
Vector::RemoveAtEnd 現在の Vector の末尾から要素を削除します。
Vector::SetAt 現在の Vector で、指定されたインデックスによって識別される要素に、指定された値を割り当てます。
Vector::Size 現在のベクター オブジェクトの要素数を返します。

イベント

Name 説明
event Windows::Foundation::Collection::VectorChangedEventHandler<T>^ VectorChanged Vector が変更されたときに発生します。

継承階層

Vector

要件

ヘッダー: collection.h

名前空間: Platform::Collections

Vector::Append メソッド

指定された項目を、現在の Vector の最後の項目の後に挿入します。

構文

virtual void Append(T item);

パラメーター

インデックス
Vector に挿入する項目。 item の型は T 型名によって定義されます。

Vector::Clear メソッド

現在のベクター内のすべての要素を削除します。

構文

virtual void Clear();

Vector::First メソッド

Vector 内の最初の要素を指す反復子を返します。

構文

virtual Windows::Foundation::Collections::IIterator <T>^ First();

戻り値

Vector 内の最初の要素を指す反復子。

解説

First() によって返される反復子を保持する便利な方法は、auto 型推論キーワードで宣言された変数に戻り値を代入することです。 たとえば、auto x = myVector->First(); のようにします。 この反復子は、コレクションの長さを認識しています。

STL 関数に渡す 1 組の反復子が必要な場合は、free 関数 Windows::Foundation::Collections::begin および Windows::Foundation::Collections::end を使用します

Vector::GetAt メソッド

指定されたインデックスで識別される現在のベクターの要素を取得します。

構文

virtual T GetAt(unsigned int index);

パラメーター

インデックス
ベクター オブジェクト内の特定の要素を指定する、0 から始まる符号なし整数。

戻り値

index パラメーターで指定された要素。 要素の型は、T 型名によって定義されます。

Vector::GetMany メソッド

指定されたインデックスを開始位置として、現在の Vector から項目のシーケンスを取得し、呼び出し元が割り当てた配列にコピーします。

構文

virtual unsigned int GetMany(
    unsigned int startIndex,
    Platform::WriteOnlyArray<T>^ dest);

パラメーター

startIndex
取得する項目の 0 から始まるインデックス。

dest
startIndex で指定された要素を開始位置とし、Vector の最後の要素を終了位置とする、呼び出し元が割り当てた項目の配列。

戻り値

取得した項目数。

解説

この関数は、直接クライアント コードで使用することを目的としたものではありません。 Platform::Vector インスタンスを std::vector インスタンスに効率的に変換できるようにするため、to_vector 関数で内部使用されます。

Vector::GetView メソッド

Vector の読み取り専用ビュー、つまり IVectorView を返します。

構文

Windows::Foundation::Collections::IVectorView<T>^ GetView();

戻り値

IVectorView オブジェクト。

Vector::IndexOf メソッド

現在のベクター内で指定された項目を検索し、見つかった場合は項目のインデックスを返します。

構文

virtual bool IndexOf(T value, unsigned int* index);

パラメーター

value
検索する項目。

インデックス
value パラメーターが見つかった場合は、項目の 0 から始まるインデックス。それ以外の場合は 0。

項目が Vector の最初の要素であるか、項目が見つからなかった場合、index パラメーターは 0 です。 戻り値が true の場合、項目が見つかり、項目は最初の要素です。それ以外の場合は、項目は見つかっていません。

戻り値

指定した項目が見つかった場合は true。それ以外の場合は false

解説

IndexOf は、std::find_if を使用して項目を検索します。 このため、find_if が必要とする等価比較を有効にするために、カスタム要素の種類で == および != 演算子をオーバーロードする必要があります。

Vector::InsertAt メソッド

指定されたインデックスによって識別される要素で、現在のベクターに指定された項目を挿入します。

構文

virtual void InsertAt(unsigned int index, T item)

パラメーター

インデックス
ベクター オブジェクト内の特定の要素を指定する、0 から始まる符号なし整数。

item
index で指定された要素でベクターに挿入する項目。 item の型は T 型名によって定義されます。

Vector::RemoveAt メソッド

現在のベクターから指定されたインデックスで識別される要素を削除します。

構文

virtual void RemoveAt(unsigned int index);

パラメーター

インデックス
ベクター オブジェクト内の特定の要素を指定する、0 から始まる符号なし整数。

Vector::RemoveAtEnd メソッド

現在の Vector の末尾から要素を削除します。

構文

virtual void RemoveAtEnd();

Vector::ReplaceAll メソッド

現在のベクターの要素を削除し、指定された配列の要素を挿入します。

構文

virtual void ReplaceAll(const ::Platform::Array<T>^ arr);

パラメーター

arr
T 型名によって定義される型を持つ、オブジェクトの配列。

Vector::SetAt メソッド

現在の Vector で、指定されたインデックスによって識別される要素に、指定された値を割り当てます。

構文

virtual void SetAt(unsigned int index, T item);

パラメーター

インデックス
ベクター オブジェクト内の特定の要素を指定する、0 から始まる符号なし整数。

item
指定された要素に代入する値。 item の型は T 型名によって定義されます。

Vector::Size メソッド

現在のベクター オブジェクトの要素数を返します。

構文

virtual property unsigned int Size;

戻り値

現在の Vector 内の要素数。

Vector::Vector コンストラクター

ベクター クラスの新しいインスタンスを初期化します。

構文

Vector();

explicit Vector(unsigned int size);
Vector( unsigned int size, T value);
template <typename U> explicit Vector( const ::std::vector<U>& v);
template <typename U> explicit Vector( std::vector<U>&& v);

Vector( const T * ptr, unsigned int size);
template <size_t N> explicit Vector(const T(&arr)[N]);
template <size_t N> explicit Vector(const std::array<T, N>& a);
explicit Vector(const Array<T>^ arr);

template <typename InIt> Vector(InIt first, InIt last);
Vector(std::initializer_list<T> il);

パラメーター

a
ベクターを初期化するために使用される std::array

arr
ベクターを初期化するために使用される Platform::Array

InIt
現在のベクターを初期化するために使用されるオブジェクトのコレクションの型。

イリノイ
ベクターを初期化するために使用される型 T のオブジェクトの std::initializer_list

N
現在のベクターを初期化するために使用されるオブジェクトのコレクションの要素数。

size
ベクターの要素数。

value
現在のベクターの各要素を初期化するために使用される値。

v
現在のベクターを初期化するために使用される std::vector への lvalue および Rvalues

ptr
現在のベクターを初期化するために使用される std::vector へのポインター。

first
現在のベクターを初期化するために使用されるオブジェクトのシーケンスの最初の要素。 first の型は "完全転送" によって渡されます。 詳細については、「右辺値参照宣言子: &&」を参照してください。

last
現在のベクターを初期化するために使用されるオブジェクトのシーケンスの最後の要素。 last の型は "完全転送" によって渡されます。 詳細については、「右辺値参照宣言子: &&」を参照してください。

関連項目

コレクション (C++/CX)
プラットフォーム名前空間
C++ での Windows ランタイム コンポーネントの作成