
7 Mar
2005
7 Mar
'05
6:04 p.m.
"David Abrahams" <dave@boost-consulting.com> wrote in message news:u1xar33ps.fsf@boost-consulting.com... | Matthias Kaeppler <nospam@digitalraid.com> writes: | | > Thorsten Ottosen wrote: | >> template< class Fun > | >> class indirect_fun | >> { | >> Fun fun; | This is too specific for Matthias' purposes (doesn't work on | containers of iterators or smart pointers). Maybe something like: | | template< class Fun > | struct indirect_fun | { | indirect_fun( Fun f ) : fun(f) | { } | | template< class T > | typename | result_of<Fun(typename pointee<T>::type)>::type | operator()( T const& r ) const | { return fun( *r ); } yeah, this is good stuff, mind if I borrow it? -Thorsten