ranges_keys_view
ranges_keys_view (키 뷰)
std::views::keys는 튜플형 값(예: std::tuple, std::pair)의 뷰를 받아, 각 요소의 첫 번째 성분(키)만 생성하는 뷰를 만드는 뷰 어댑터예요. ranges::elements_view<R, 0>의 특수화예요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< class R >
using keys_view = ranges::elements_view<R, 0>;
(1) (since C++20)
namespace views {
inline constexpr auto keys = ranges::elements<0>;
}
(2) (since C++20)
튜플형 값(예: std::tuple, std::pair)의 뷰를 받아, 각 요소의 첫 번째 성분을 값 타입으로 하는 뷰를 생성해요.
참고 (Notes)
views::keys(r)로 생성해요. std::map, std::vector<std::pair<...>> 같은 것들의 키만 순회할 때 유용해요.
예제 (Example)
이 코드를 실행해 봐요.
#include <ranges>
#include <map>
#include <iostream>
int main()
{
std::map<int, char> m{{1, 'a'}, {2, 'b'}};
for (int k : m | std::views::keys)
std::cout << k << ' '; // 1 2
}