carb::wrapInterfaceFunction
Defined in carb/BindingsUtils.h
-
template<typename InterfaceType, typename ReturnType, typename ...Args>
auto carb::wrapInterfaceFunction(const InterfaceType *c, ReturnType (*InterfaceType::* p)(Args...)) -> std::function<ReturnType(Args...)> Wraps an interface function into a
std::function<>.This version captures the interface so that it does not need to be passed to every invocation.
- 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
c – The Carbonite interface to capture as part of the wrapper function.
p – The interface function to wrap.
- Returns
A
std::function<ReturnType(Args...)>wrapper aroundp.