I basically just typedef away the ugly syntax. It basically works. Though I wish you could use typedefs in prototypes, like
typedef int signal_func(int sigcatch, raised_func f);
foo.h:
signal_func* p_handler;
foo.cc:
signal_func my_handler {
...
}
This would avoid a lot of repetition and is easier to read IMO.