From 9914732004c9e6bdb8a0785f77f4bed369b706b0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 19 Oct 2022 16:06:47 +0200 Subject: [PATCH] Potential fix for C++20 std::set::* ambiguity (until C++20) bool empty() const noexcept; (since C++20) [[nodiscard]] bool empty() const noexcept; --- libs/lua/LuaBridge/detail/Namespace.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/lua/LuaBridge/detail/Namespace.h b/libs/lua/LuaBridge/detail/Namespace.h index c39a7f0e3e..0d6604bb9c 100644 --- a/libs/lua/LuaBridge/detail/Namespace.h +++ b/libs/lua/LuaBridge/detail/Namespace.h @@ -1899,11 +1899,12 @@ public: Class > beginStdSet (char const* name) { typedef std::set LT; + typedef typename LT::size_type T_SIZE; return beginClass (name) .addVoidConstructor () .addFunction ("clear", (void (LT::*)())<::clear) - .addFunction ("empty", <::empty) - .addFunction ("size", <::size) + .addFunction ("empty", (bool (LT::*)()const)<::empty) + .addFunction ("size", (T_SIZE (LT::*)()const)<::size) #if 0 // needs work for AutomationTypeSet (T is-a enum not a class instance) .addExtCFunction ("insert", &CFunc::setInsert) #endif