From 9029b2c9584f9b355111d09f30106bbf89f0b9b1 Mon Sep 17 00:00:00 2001 From: PraneethJain Date: Thu, 13 Jun 2024 21:22:51 +0530 Subject: [PATCH] fix: queue methods --- include/jlcxx/stl.hpp | 2 ++ src/stl.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/jlcxx/stl.hpp b/include/jlcxx/stl.hpp index 9632d34..6cc5234 100644 --- a/include/jlcxx/stl.hpp +++ b/include/jlcxx/stl.hpp @@ -221,6 +221,7 @@ struct WrapQueueImpl wrapped.module().set_override_module(StlWrappers::instance().module()); wrapped.method("cppsize", &WrappedT::size); + wrapped.method("q_empty", [] (WrappedT& v) { return v.empty(); }); wrapped.method("push_back!", [] (WrappedT& v, const T& val) { v.push(val); }); wrapped.method("front", [] (WrappedT& v) { return v.front(); }); wrapped.method("pop_front!", [] (WrappedT& v) { v.pop(); }); @@ -238,6 +239,7 @@ struct WrapQueueImpl wrapped.module().set_override_module(StlWrappers::instance().module()); wrapped.method("cppsize", &WrappedT::size); + wrapped.method("q_empty", [] (WrappedT& v) { return v.empty(); }); wrapped.method("push_back!", [] (WrappedT& v, const bool val) { v.push(val); }); wrapped.method("front", [] (WrappedT& v) -> bool { return v.front(); }); wrapped.method("pop_front!", [] (WrappedT& v) { v.pop(); }); diff --git a/src/stl.cpp b/src/stl.cpp index 18f0fb5..8006f9b 100644 --- a/src/stl.cpp +++ b/src/stl.cpp @@ -50,7 +50,8 @@ JLCXX_API StlWrappers::StlWrappers(Module& stl) : vector(stl.add_type>>("StdVector", julia_type("AbstractVector"))), valarray(stl.add_type>>("StdValArray", julia_type("AbstractVector"))), deque(stl.add_type>>("StdDeque", julia_type("AbstractVector"))), - queue(stl.add_type>>("StdQueue", julia_type("AbstractVector"))), + // Assign appropriate parent types after iterators are implemented + queue(stl.add_type>>("StdQueue")), priority_queue(stl.add_type>>("StdPriorityQueue")), set(stl.add_type>>("StdSet")), multiset(stl.add_type>>("StdMultiset")),