Store PLCnext CommunityPLCnext on LinkedInPLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community

 

 How to create a Blog Entry

Linq the list processing library for C++

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:

License

The library is published under Boost Software License 1.0