LINQ for C++11 done right