I tried to use boost range iterator to implement a LINQ. When it comes to the distinction with the given predicate, I got some problems. To describe my problem directly and