A specialization that treats function pointer Transforms as if they were function type Transforms.
More...
template<typename Grammar, typename Fun>
struct boost::proto::when< Grammar, Fun * >
A specialization that treats function pointer Transforms as if they were function type Transforms.
This specialization requires that Fun
is actually a function type.
This specialization is required for nested transforms such as when<G, T0(T1(_))>
. In C++, functions that are used as parameters to other functions automatically decay to funtion pointer types. In other words, the type T0(T1(_))
is indistinguishable from T0(T1(*)(_))
. This specialization is required to handle these nested function pointer type transforms properly.