프로그래밍 검색 블로그

C++ ranges view::group_by 본문

C++ ranges

C++ ranges view::group_by

코딩조무사 2017. 10. 8. 14:45
1
2
3
4
5
6
7
8
    vector<vector<int>> v = view::iota(0100)
    | view::group_by([](int before, int current){
        return (before / 10== (current / 10);
    });
    
    for(auto& e : v){
        cout << view::all(e) << endl;
    };
cs




특정 원소를 그룹화하여 나눈다. 


안에 들어가는 함수는 이전 원소 현재 원소 를 인자로 bool을 반환한다. 


출력: 

[0,1,2,3,4,5,6,7,8,9]

[10,11,12,13,14,15,16,17,18,19]

[20,21,22,23,24,25,26,27,28,29]

[30,31,32,33,34,35,36,37,38,39]

[40,41,42,43,44,45,46,47,48,49]

[50,51,52,53,54,55,56,57,58,59]

[60,61,62,63,64,65,66,67,68,69]

[70,71,72,73,74,75,76,77,78,79]

[80,81,82,83,84,85,86,87,88,89]

[90,91,92,93,94,95,96,97,98,99]



'C++ ranges' 카테고리의 다른 글

c++ ranges view:transform  (0) 2017.10.08
C++ ranges view::drop, view::drop_while, view::drop_exactly  (0) 2017.10.08
C++ ranges view::c_str  (0) 2017.10.08
C++ ranges view::join (flatMap)  (0) 2017.10.08
C++ ranges view::tail  (0) 2017.10.08
Comments