|
@@ -1035,7 +1035,7 @@ public:
|
|
|
template<typename... Args>
|
|
template<typename... Args>
|
|
|
// NOLINTNEXTLINE(modernize-use-nodiscard)
|
|
// NOLINTNEXTLINE(modernize-use-nodiscard)
|
|
|
meta_any invoke(meta_handle instance, Args &&...args) const {
|
|
meta_any invoke(meta_handle instance, Args &&...args) const {
|
|
|
- return invoke(std::move(instance), std::array<meta_any, sizeof...(Args)>{meta_any{*ctx, std::forward<Args>(args)}...}.data(), sizeof...(Args));
|
|
|
|
|
|
|
+ return (sizeof...(Args) == arity()) ? node_or_assert().invoke(meta_handle{*ctx, std::move(instance)}, std::array<meta_any, sizeof...(Args)>{meta_any{*ctx, std::forward<Args>(args)}...}.data()) : meta_any{meta_ctx_arg, *ctx};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*! @copydoc meta_data::traits */
|
|
/*! @copydoc meta_data::traits */
|