This is the syntax used to declare a pointer to a function (your case) or an array. Take an ad
typedef Example* (*myFunctionType)();
it will make a line
typedef std::map<std::string, myFunctionType> map_type;
, . , Example* (*myFunctionType)() Example* (*)() , .