Using functors in Thrust