Abstract
In this article I will explain how to use linq
to process data. With this library you can use filtering, selections, aggregations, groupings and many more. For full support it requires clang or gcc, and boost
How to use
This library is a Header only
library. You only have to integrate the C++ header
in your project environment. When you’re done you can use the linq
functions.
Select
std::vector<int> v = { 1, 2, 4 };
//linq form
auto q = LINQ(from(x, v) select(x * 3));
//q -> result {3,6,12}
//extension form
auto r = v
| linq::select([](int x) { return x * 3; });
OrderBy
std::vector<int> v = { 4, 2, 8 };
//linq form
auto q = LINQ(from(x, v) orderby( descending x) select(x));
//q -> result {8,4,2}
Where
vector<int> v = { 1, 3, 4, 5 };
auto q = LINQ(from(i, v) where(i % 2));
//q -> result {4}
//extension form
auto r = v
| linq::where([](int x){ return x % 2})
| linq::select([](int x) { return x; });
More Information
If you are interested in getting more information about linq
you can check the folowing links:
- GitHub : https://github.com/pfultz2/Linq
- Website: http://pfultz2.github.io/Linq/
License
The library is published under Boost Software License 1.0
Leave a Reply
You must be logged in to post a comment.