11 // I wish Apple cared about providing quality toolchains :/
13 template <typename Function_>
16 template <typename Type_, typename... Args_>
17 class Functor<Type_ (Args_...)> {
19 virtual Type_ operator ()(Args_... args) const = 0;
22 template <typename Function_>
25 template <typename Value_, typename Type_, typename... Args_>
26 class FunctorImpl<Type_ (Value_::*)(Args_...) const> :
27 public Functor<Type_ (Args_...)>
33 FunctorImpl(const Value_ &value) :
38 virtual Type_ operator ()(Args_... args) const {
39 return (*value_)(args...);
43 template <typename Function_>
44 FunctorImpl<decltype(&Function_::operator())> fun(const Function_ &value) {
48 typedef std::map<uint32_t, std::string> Slots;
50 void Sign(const void *idata, size_t isize, std::streambuf &output, const std::string &identifier, const std::string &entitlements, const std::string &key, const Slots &slots);