22 #include "../config.h" 
   24 #include "RMonoAPIFunction_Def.h" 
   37 template <
typename ABI, 
bool required, 
typename RetT, 
typename... ArgsT>
 
   40     std::string defSigStr = std::string(
typeid(RetT).name()).append(
" ").append(name).append(
"(");
 
   45     debugDumpSignaturesArgRecurse<DefArgsTuple, 0>(defSigStr);
 
   46     debugDumpSignaturesArgRecurse<typename RMonoAPIFunctionRawTraits<Self>::RawArgsTuple, 0>(rawSigStr);
 
   47     debugDumpSignaturesArgRecurse<typename RMonoAPIFunctionWrapTraits<Self>::WrapArgsTuple, 0>(wrapSigStr);
 
   48     debugDumpSignaturesArgRecurse<typename RMonoAPIFunctionAPITraits<Self>::APIArgsTuple, 0>(apiSigStr);
 
   50     defSigStr.append(
")");
 
   51     rawSigStr.append(
")");
 
   52     wrapSigStr.append(
")");
 
   53     apiSigStr.append(
")");
 
   55     RMonoLogVerbose(
"Signatures for '%s':", name.data());
 
   57     RMonoLogVerbose(
"    Raw:    %s", rawSigStr.data());
 
   58     RMonoLogVerbose(
"    Wrap:   %s", wrapSigStr.data());
 
   59     RMonoLogVerbose(
"    API:    %s", apiSigStr.data());
 
   63 template <
typename ABI, 
bool required, 
typename RetT, 
typename... ArgsT>
 
   64 template <
typename ArgsTupleT, 
size_t argIdx>
 
   68     if constexpr(argIdx < std::tuple_size_v<ArgsTupleT>) {
 
   69         if constexpr(argIdx != 0) {
 
   73         sigStr.append(qualified_type_name<std::tuple_element_t<argIdx, ArgsTupleT>>());
 
   75         debugDumpSignaturesArgRecurse<ArgsTupleT, argIdx+1>(sigStr);