We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ddf8150 commit 7d784b4Copy full SHA for 7d784b4
1 file changed
include/sqlite-vec-cpp/index/hnsw_threading.hpp
@@ -7,6 +7,17 @@
7
#include <thread>
8
#include <vector>
9
10
+// C++20 jthread support check
11
+#if __has_include(<version>)
12
+#include <version>
13
+#endif
14
+
15
+#if defined(__cpp_lib_jthread) && (__cpp_lib_jthread >= 201911L)
16
+#define SQLITE_VEC_CPP_HAS_JTHREAD 1
17
+#else
18
+#define SQLITE_VEC_CPP_HAS_JTHREAD 0
19
20
21
namespace sqlite_vec_cpp::index {
22
23
/// Simple spinlock using atomic flag
@@ -224,7 +235,11 @@ class StripedLockManager {
224
235
/// Thread pool executor for parallel operations
225
236
class ThreadPool {
226
237
size_t num_threads_;
238
+#if SQLITE_VEC_CPP_HAS_JTHREAD
227
239
std::vector<std::jthread> threads_;
240
241
+ std::vector<std::thread> threads_;
242
228
243
std::atomic<size_t> next_idx_{0};
229
244
230
245
public:
0 commit comments