From 70d4f32ffd56b2508bb2c2ae8bc37a8452561d5b Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Sat, 9 Dec 2023 13:00:43 -0800 Subject: [PATCH] port updates from poly/polysat Signed-off-by: Nikolaj Bjorner --- src/util/dlist.h | 10 ++++++++++ src/util/var_queue.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/util/dlist.h b/src/util/dlist.h index e5c95b8cf38..07aefa97ee4 100644 --- a/src/util/dlist.h +++ b/src/util/dlist.h @@ -223,6 +223,16 @@ class dll_iterator { } }; +template +class dll_elements { + T const* m_list; +public: + dll_elements(T const* list) : m_list(list) {} + dll_iterator begin() const { return dll_iterator::mk_begin(m_list); } + dll_iterator end() const { return dll_iterator::mk_end(m_list); } +}; + + template < typename T , typename U = std::enable_if_t, T>> // should only match if T actually inherits from dll_base > diff --git a/src/util/var_queue.h b/src/util/var_queue.h index 9807e5ac2b8..0af4de3b837 100644 --- a/src/util/var_queue.h +++ b/src/util/var_queue.h @@ -68,6 +68,8 @@ class var_queue { void reset() { m_queue.reset(); } + + bool contains(var v) const { return m_queue.contains(v); } bool empty() const { return m_queue.empty(); }