prima il predicato doveva essere una funzione o un functor separato. Tant'è che secondo lo standard la lambda function è equivalente ad un functor anonimo. E di solito è implementata proprio così. Si tratta di zucchero sintattico, non di supporto alla programmazione funzionale.
Chiarissimo!
OT che compilatore C++14 usi?
Sto utilizzando Clang+libc++ compilati direttamente dall'svn. libc++ è oramai completa per C++14, Clang manca ancora di un paio di cosette tra cui le polimorphic lamdas (come quella dell'esempio) e la generalized lambda capture. Ma dato che alcune cose sono ancora in fase di standardizzazione...