wrapInterfaceFunction#

Fully qualified name: 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.