From bc85d969381dafec25873edc111df7c757ec3015 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Fri, 24 Jun 2022 17:11:53 +0200 Subject: [PATCH] meta: remove a few lambdas --- src/entt/meta/meta.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index 97a5d345c..c0676ed01 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -934,14 +934,14 @@ private: /*! @brief Opaque wrapper for types. */ class meta_type { - template - [[nodiscard]] std::decay_t().*Member)> lookup(meta_any *const args, const typename internal::meta_type_node::size_type sz, Pred pred) const { + template + [[nodiscard]] std::decay_t().*Member)> lookup(meta_any *const args, const typename internal::meta_type_node::size_type sz, Check... check) const { std::decay_t*Member)> candidate{}; size_type extent{sz + 1u}; bool ambiguous{}; for(auto *curr = (node->*Member); curr; curr = curr->next) { - if(pred(curr) && curr->arity == sz) { + if(((curr->id == check) && ... && (curr->arity == sz))) { size_type direct{}; size_type ext{}; @@ -1216,7 +1216,7 @@ public: * @return A wrapper containing the new instance, if any. */ [[nodiscard]] meta_any construct(meta_any *const args, const size_type sz) const { - const auto *candidate = lookup<&node_type::ctor>(args, sz, [](const auto *) { return true; }); + const auto *candidate = lookup<&node_type::ctor>(args, sz); return candidate ? candidate->invoke(args) : ((!sz && node->default_constructor) ? node->default_constructor() : meta_any{}); } @@ -1250,10 +1250,10 @@ public: * @return A wrapper containing the returned value, if any. */ meta_any invoke(const id_type id, meta_handle instance, meta_any *const args, const size_type sz) const { - const auto *candidate = lookup<&node_type::func>(args, sz, [id](const auto *curr) { return curr->id == id; }); + const auto *candidate = lookup<&node_type::func>(args, sz, id); for(auto it = base().begin(), last = base().end(); it != last && !candidate; ++it) { - candidate = it->lookup<&node_type::func>(args, sz, [id](const auto *curr) { return curr->id == id; }); + candidate = it->lookup<&node_type::func>(args, sz, id); } return candidate ? candidate->invoke(std::move(instance), args) : meta_any{};