C++ ranges

C++ ranges view::replace, view::replace_if

코딩조무사 2017. 10. 8. 19:33
replace

첫번쨰로 들어온 원소와 같은게 있다면 두번째로 들어온 원소로 바꾼다. 

1
2
3
    vector<int> v = view::iota(010)
    | view::replace(6,10);
    cout << view::all(v) << endl;
cs



출력: [0,1,2,3,4,5,10,7,8,9]





replace_if

인자로 받은 함수에 원소를 넣어서 같다면 두번쨰 인자로 바꾼다. 

1
2
3
4
5
    vector<int> v = view::iota(010)
    | view::replace_if([](int e){
        return e == 6;
    }, 10);
     cout << view::all(v) << endl;
cs

출력: [0,1,2,3,4,5,10,7,8,9]