valarray_mask_array

valarray_mask_array (마스크 배열 프록시)

std::mask_arraystd::valarray<bool> 인자와 함께 valarray 첨자 연산자가 사용하는 헬퍼 템플릿이에요. std::valarray<bool> 마스크에서 true 값에 대응하는 인덱스의 요소로 구성된 valarray의 하위 집합에 대한 참조 의미를 제공해요.

출처: cppreference

본문

<valarray> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< class T > class mask_array;

std::mask_arraystd::valarray<bool> 인자와 함께 valarray 첨자 연산자가 사용하는 헬퍼 템플릿이에요. std::valarray<bool> 마스크에서 true 값에 대응하는 인덱스의 요소로 구성된 valarray의 하위 집합에 대한 참조 의미를 제공해요.

멤버 타입 (Member types)

타입 정의
value_type T

멤버 함수 (Member functions)

  • (constructor) — mask_array 생성
  • (destructor) — mask_array 파괴
  • operator= — 내용 할당
  • operator+= operator-= operator*= operator/= operator%= operator&= operator|= operator^= operator<<= operator>>= — 마스크가 참조하는 배열에 산술 연산 수행

예제 (Example)

이 코드를 실행해 봐요.

#include <iostream>
#include <valarray>

void println(auto rem, const auto& data)
{
    for (std::cout << rem; int n : data)
        std::cout << n << ' ';
    std::cout << '\n';
}

int main()
{
    std::valarray<int> data{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    println("Initial valarray: ", data);

    data[data > 5] = -1; // 5보다 큰 요소를 -1로
    println("After data[data > 5] = -1: ", data);
}

더 알아보기 (Learn more)

cppreference