cppcallback Typesafe c++ delegates without dynamic memory allocation C++ 11 version of Elbert Mai's CPPCallback StaticClojure as simple custom size std::function