Here is my implemention of c++-linq with c++11(in chinese):
http://www.cnblogs.com/cbscan/archive/2012/10/20/2732773.html
It support features like "deferred query","stack based"(use operator new as little as possible),"copy semantic"(so you can iterate a query multitime after backup it), and so on.
It also support dozens of function including "from, select, where, cast ,range, all, any ,cast, average ,contain, count ,first, last, head, tail ,groupBy ,takeUntil, skipUntil ,max, min ,reduce ,unique, sort, random ,intersect, _union".
I think my code is simple enough to understand and extend by anybody selves.