Linq: 현대 C++을 위한 강력한 리스트 처리 라이브러리
요약
이 문서에서는 데이터를 처리하기 위해 linq를 사용하는 방법을 설명합니다. 이 라이브러리를 사용하면 필터링, 선택, 집계, 그룹화 등을 할 수 있습니다. 완전한 지원을 위해 clang 또는 gcc, boost가 필요합니다.
사용 방법
이 라이브러리는 헤더 온리 라이브러리입니다. C++ 헤더만 프로젝트 환경에 통합하면 됩니다. 완료되면 linq 함수를 사용할 수 있습니다.
Select
std::vector<int> v = { 1, 2, 4 };
// linq 형태
auto q = LINQ(from(x, v) select(x * 3));
// q -> 결과 {3,6,12}
// 확장 형태
auto r = v | linq::select([](int x) { return x * 3; });
OrderBy
std::vector<int> v = { 4, 2, 8 };
// linq 형태
auto q = LINQ(from(x, v) orderby(descending x) select(x));
// q -> 결과 {8,4,2}
Where
vector<int> v = { 1, 3, 4, 5 };
auto q = LINQ(from(i, v) where(i % 2));
// q -> 결과 {4}
// 확장 형태
auto r = v | linq::where([](int x){ return x % 2}) | linq::select([](int x) { return x; });
추가 정보
linq에 대한 더 많은 정보에 관심이 있으시면 다음 링크를 확인하세요:
- GitHub: https://github.com/pfultz2/Linq
- 웹사이트: https://pfultz2.github.io/Linq/
라이선스
이 라이브러리는 Boost Software License 1.0으로 배포됩니다.