From 1e4b827ed3383f3ff77a64c6678a0d999bbaf1a5 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sat, 15 Jun 2024 13:03:58 +0200 Subject: [PATCH] Make an exception for bool types in priority_queue --- include/jlcxx/stl.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/include/jlcxx/stl.hpp b/include/jlcxx/stl.hpp index 25b33d8..80f5c40 100644 --- a/include/jlcxx/stl.hpp +++ b/include/jlcxx/stl.hpp @@ -269,7 +269,14 @@ struct WrapPriorityQueue wrapped.method("cppsize", &WrappedT::size); wrapped.method("pq_push!", [] (WrappedT& v, const T& val) { v.push(val); }); wrapped.method("pq_pop!", [] (WrappedT& v) { v.pop(); }); - wrapped.method("pq_top", [] (WrappedT& v) { return v.top(); }); + if constexpr(std::is_same::value) + { + wrapped.method("pq_top", [] (WrappedT& v) { return bool(v.top()); }); + } + else + { + wrapped.method("pq_top", [] (WrappedT& v) { return v.top(); }); + } wrapped.method("pq_isempty", [] (WrappedT& v) { return v.empty(); }); wrapped.module().unset_override_module(); }