std::mask_array - cppreference.com

#include<iostream>#include<valarray>voidprintln(autorem,constauto&data){for(std::cout<<rem;intn:data)std::cout<<n<<' ';std::cout<<'\n';}intmain(){std::valarray<int>data{0,1,2,3,4,5,6,7,8,9};println("Initial valarray: ",data);data[data>5]=-1;// the type of data>5 is std::valarray<bool>// the type of data[data>5] is std::mask_array<int>println("After v[v>5]=-1: ",data);}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