Commit 3f8739d
committed
Implement Phase 2: Migrate to C++20
## Changes
### C++ Standard Update
- Updated CXX_STANDARD from 17 to 20 in CMakeLists.txt
- Applied to all targets:
- PRTree extension module
- benchmark_construction
- benchmark_query
- benchmark_parallel
- stress_test_concurrent
### C++20 Compatibility Fixes
- Fixed lambda capture deprecation warning
- Changed `[=]` to `[this]` for explicit this capture
- Location: Leaf::filter() method
## Testing
- ✅ Compiles successfully with C++20
- ✅ No warnings or errors
- ✅ All targets build successfully
## Benefits of C++20
- Enables use of C++20 features in future phases:
- std::span (Phase 8)
- Concepts (Phase 8)
- Ranges (Phase 8)
- Three-way comparison (Phase 8)
- Better compiler optimizations
- Improved standard library
## Impact
- No API changes
- No performance impact expected
- Builds on modern compilers (GCC 10+, Clang 10+, MSVC 2019+)
Related: Phase 1 (thread safety)
Prepares for: Phase 8 (C++20 features)1 parent 3175a09 commit 3f8739d
2 files changed
+7
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
| 120 | + | |
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
288 | | - | |
| 288 | + | |
| 289 | + | |
289 | 290 | | |
290 | 291 | | |
291 | 292 | | |
| |||
0 commit comments