名前空間
変種
操作

std::experimental::simd_mask<T,Abi>::operator[]

From cppreference.com
< cpp‎ | experimental‎ | simd‎ | simd mask
 
 
 
 
 
 
reference operator[]( size_t i );
(1) (parallelism TS v2)
bool operator[]( size_t i ) const;
(2) (parallelism TS v2)

添え字演算子により、simd_mask の単一の要素の読み書きが可能です。

1) i番目の要素への参照プロキシを返します。このプロキシ型はlvalueにキャプチャすべきではありません。simd_mask::reference のlvalueは value_type にしか変換できません。simd_mask::reference のrvalueは代入演算子、複合代入演算子、およびswap をオーバーロードします。
2) i番目の要素のprvalueを返します。オブジェクトを格納する value_type を含むコンテナとは異なり、simd_mask は個々のオブジェクトのコンテナではないため、lvalue参照を返すことはできません。

[編集] パラメータ

i - 要素のインデックス。size() より小さい必要があります。

[編集]

#include <cstddef>
#include <experimental/simd>
#include <iostream>
namespace stdx = std::experimental;
 
int main()
{
    stdx::native_simd_mask<int> a{true};
    a[1] = 0;
    for (std::size_t i = 0; i != a.size(); ++i)
        std::cout << a[i] << ' ';
    std::cout << '\n';
}

実行結果の例

1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
English 日本語 中文(简体) 中文(繁體)