carb::wrapInterfaceFunction

Defined in carb/BindingsUtils.h

template<typename InterfaceType, typename ReturnType, typename ...Args>
auto carb::wrapInterfaceFunction(ReturnType (*InterfaceType::* p)(Args...)) -> std::function<ReturnType(InterfaceType&, Args...)>

Wraps an interface function into a std::function<>.

Template Parameters
  • InterfaceType – The Carbonite interface type (i.e. logging::ILogging); can be inferred.

  • ReturnType – The return type of p; can be inferred.

  • Args – Arguments of p; can be inferred.

Parameters

p – The interface function to wrap.

Returns

A std::function<ReturnType(InterfaceType&, Args...)> wrapper around p.