名前空間
変種
操作

std::mask_array

提供: cppreference.com
< cpp‎ | numeric‎ | valarray
 
 
 
 
 
ヘッダ <valarray> で定義
template<class T >class mask_array;

std::mask_arraystd::valarray<bool> 引数を持つ valarray の添字演算子によって使用されるヘルパーテンプレートです。 std::valarray<bool> 内の true の値に対応するインデックスを持つ要素によって構成される valarray の部分集合への参照の意味論を持ち、アクセスを提供します。

[編集]メンバ型

定義
value_typeT

[編集]メンバ関数

mask_array を構築します
(パブリックメンバ関数)[edit]
mask_array を破棄します
(パブリックメンバ関数)[edit]
内容を代入します
(パブリックメンバ関数)[edit]
マスクによって参照される配列に対して算術演算を行います
(パブリックメンバ関数)[edit]

[編集]

#include <iostream>#include <valarray>   int main(){std::valarray<int> data ={0,1,2,3,4,5,6,7,8,9};   std::cout<<"Initial valarray: ";for(int n: data)std::cout<< n <<' ';std::cout<<'\n';   data[data >5]=-1;// the type of data>5 is std::valarray<bool>// the type of data[data>5] is std::mask_array<int>   std::cout<<"After v[v>5]=-1: ";for(int n: data)std::cout<< n <<' ';std::cout<<'\n';}

出力:

Initial valarray: 0 1 2 3 4 5 6 7 8 9 After v[v>5]=-1: 0 1 2 3 4 5 -1 -1 -1 -1
close