winrt::array_view 構造体テンプレート (C++/WinRT)
連続する一連の値のビュー (スパン)。 winrt::array_viewの詳細な例と情報については、「Standard C++ データ型と C++/WinRT」を参照してください。
構文
template <typename T>
struct array_view
テンプレート パラメーター
typename T
array_view が表示またはスパンする値 (要素) の型。
必要条件
サポートされる最小 SDK: Windows SDK バージョン 10.0.17134.0 (Windows 10 バージョン 1803) を
Namespace: 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::const_reverse_iterator | std::reverse_iterator<array_view::const_iterator>のシノニム。 |
コンス トラクター
コンストラクタ | 形容 |
---|---|
array_view::array_view コンストラクターの | 入力データのコピーではなく、ビューとして array_view 構造体の新しいインスタンスを初期化します。 |
メンバー関数
機能 | 形容 |
---|---|
array_view::at 関数 | array_view オブジェクト内の指定した位置にある要素への参照を返します。 |
array_view::back 関数の | array_view オブジェクト内の最後の要素への参照を返します。 |
array_view::begin 関数の | array_view オブジェクトの最初の要素を指す反復子を返します。 |
array_view::cbegin 関数の | array_view オブジェクトの最初の要素を指す const 反復子を返します。 |
array_view::cend 関数の | array_view オブジェクトの末尾 (最後の要素の後の 1 つ) を指す const 反復子を返します。 |
array_view::crbegin 関数の | array_view オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す定数反転反復子を返します。 |
array_view::crend 関数 | array_view オブジェクトの最初の要素を指す定数反転反復子を返します。 |
array_view::d ata 関数の | array_view オブジェクトによって表示される基になるデータへのポインターを返します。 |
array_view::empty 関数の | array_view オブジェクトが空かどうかを示す値を返します (ゼロ要素のビューです)。 |
array_view::end 関数の | array_view オブジェクトの末尾 (最後の要素の後の 1 つ) を指す反復子を返します。 |
array_view::front 関数の | array_view オブジェクトの最初の要素への参照を返します。 |
array_view::rbegin 関数の | array_view オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す反転反復子を返します。 |
array_view::rend 関数の | array_view オブジェクトの最初の要素を指す反転反復子を返します。 |
array_view::size 関数の | array_view オブジェクト内の要素の数を返します。 |
メンバー演算子
演算子 | 形容 |
---|---|
array_view::operator[] (添字演算子) | array_view オブジェクト内の指定した位置にある要素への参照を返します。 |
Free 演算子
演算子 | 形容 |
---|---|
演算子!= (等しくない演算子) | 2 つのパラメーターが互いに等しくないかどうかを示す値を返します。 |
演算子 < (演算子より小さい) | 最初のパラメーターが 2 番目のパラメーターより小さいかどうかを示す値を返します。 |
演算子<= (以下の演算子) | 最初のパラメーターが 2 番目のパラメーター以下かどうかを示す値を返します。 |
operator== (等値演算子) | 2 つのパラメーターが互いに等しいかどうかを示す値を返します。 |
演算子> (より大きい演算子) | 最初のパラメーターが 2 番目のパラメーターより大きいかどうかを示す値を返します。 |
演算子>= (以上の演算子) | 最初のパラメーターが 2 番目のパラメーター以上かどうかを示す値を返します。 |
反復 子
array_view は範囲であり、その範囲は array_view::begin および array_view::end メンバー関数によって定義され、それぞれが反復子を返します (array_view::cbegin と array_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 構造体の新しいインスタンスを初期化します。
構文
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
入力データ内の値 (要素) の数。
パラメーター
rawArrayValue
array_view オブジェクトを初期化する生の配列値です。
arrayValue
array_view オブジェクトを初期化する std::array 値です。
initializerListValue
array_view オブジェクトを初期化する初期化子リスト値。
vectorValue
array_view オブジェクトを初期化する std::vector 値です。
first
last
array_view オブジェクトを初期化する値へのポインター。
first
last
等しい場合、array_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 関数
array_view オブジェクトの末尾 (最後の要素の後の 1 つ) を指す const 反復子を返します。 反復子 を参照してください。
構文
stdext::checked_array_iterator<T const> cend() const noexcept;
戻り値
array_view オブジェクトの末尾 (最後の要素の後の 1 つ) を指す const 反復子。
array_view::crbegin 関数
array_view オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す定数反転反復子を返します。
構文
std::reverse_iterator<stdext::checked_array_iterator<T const>> crbegin() const noexcept;
戻り値
array_view オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す const 逆反復子。
array_view::crend 関数
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 オブジェクトが空かどうかを示す値を返します (ゼロ要素のビューです)。
構文
bool empty() const noexcept;
戻り値
true
array_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 オブジェクトの末尾 (最後の要素の 1 つを超える) を指す反復子。
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 オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す反転反復子を返します。
構文
std::reverse_iterator<stdext::checked_array_iterator<T const>> rbegin() const noexcept;
std::reverse_iterator<stdext::checked_array_iterator<T>> rbegin() noexcept;
戻り値
array_view オブジェクトの末尾 (最後の要素の後の 1 つ) の 1 つを指す逆反復子。
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;
戻り値
array_view オブジェクト内の要素の数を含む uint32_t
。
operator!= (等しくない演算子)
2 つのパラメーターが互いに等しくないかどうかを示す値を返します。
構文
template <typename T> bool operator!=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
true
2 つのパラメーターが互いに等しくない場合は false
。
operator< (less-than 演算子)
最初のパラメーターが 2 番目のパラメーターより小さいかどうかを示す値を返します。
構文
template <typename T> bool operator<(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
最初のパラメーターが 2 番目のパラメーターより小さい場合は true
。それ以外の場合は false
。
operator<= (less-than-or-equal-to 演算子)
最初のパラメーターが 2 番目のパラメーター以下かどうかを示す値を返します。
構文
template <typename T> bool operator<=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
最初のパラメーターが 2 番目のパラメーター以下の場合は true
。それ以外の場合は false
。
operator== (等値演算子)
2 つのパラメーターが互いに等しいかどうかを示す値を返します。
構文
template <typename T> bool operator==(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
2 つのパラメーターが互いに等しい場合は true
し、それ以外の場合は false
。
演算子> (より大きい演算子)
最初のパラメーターが 2 番目のパラメーターより大きいかどうかを示す値を返します。
構文
template <typename T> bool operator>(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
最初のパラメーターが 2 番目のパラメーターより大きい場合は true
。それ以外の場合は false
。
operator>= (より大きい演算子または等しい演算子)
最初のパラメーターが 2 番目のパラメーター以上かどうかを示す値を返します。
構文
template <typename T> bool operator>=(winrt::array_view<T> const& left, winrt::array_view<T> const& right) noexcept;
パラメーター
left
right
他のパラメーターと比較する array_view 値です。
戻り値
最初のパラメーターが 2 番目のパラメーター以上の場合は true
。それ以外の場合は false
。
関連項目
- winrt 名前空間 を
する