[PR #13716] [MERGED] Replace dependency on boost with a custom small vector #29729

Open
opened 2026-01-31 09:36:33 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/13716
Author: @lhecker
Created: 8/10/2022
Status: Merged
Merged: 9/14/2022
Merged by: @undefined

Base: mainHead: dev/lhecker/small-vector


📝 Commits (10+)

  • b0f8456 Replace dependency on boost with a custom small vector
  • efa468b Fix various small_vector bugs
  • 85d6c20 Fix x86 build, AuditMode, spell checks
  • 6e0a33b minimalistic is a word
  • c9ccf71 Un-_Uglify names, Add _Verify_range, Swap vector with array iterator
  • 86f0018 Terminal's first use of C++20 concepts
  • 4adc676 Concepts are too powerful
  • af97cac Fix erase bug
  • fa79ae3 Provide basic exception safety
  • b92485e Deduplicate push_back, Protect against arithmetic overflow

📊 Changes

464 files changed (+1302 additions, -119862 deletions)

View changed files

📝 .github/actions/spelling/allow/allow.txt (+1 -0)
📝 NOTICE.md (+0 -33)
oss/boost/MAINTAINER_README.md (+0 -15)
oss/boost/boost_1_73_0/LICENSE_1_0.txt (+0 -23)
oss/boost/boost_1_73_0/README.md (+0 -11)
oss/boost/boost_1_73_0/boost/assert.hpp (+0 -85)
oss/boost/boost_1_73_0/boost/config.hpp (+0 -67)
oss/boost/boost_1_73_0/boost/config/abi/borland_prefix.hpp (+0 -27)
oss/boost/boost_1_73_0/boost/config/abi/borland_suffix.hpp (+0 -12)
oss/boost/boost_1_73_0/boost/config/abi/msvc_prefix.hpp (+0 -22)
oss/boost/boost_1_73_0/boost/config/abi/msvc_suffix.hpp (+0 -8)
oss/boost/boost_1_73_0/boost/config/abi_prefix.hpp (+0 -25)
oss/boost/boost_1_73_0/boost/config/abi_suffix.hpp (+0 -27)
oss/boost/boost_1_73_0/boost/config/auto_link.hpp (+0 -485)
oss/boost/boost_1_73_0/boost/config/compiler/borland.hpp (+0 -336)
oss/boost/boost_1_73_0/boost/config/compiler/clang.hpp (+0 -352)
oss/boost/boost_1_73_0/boost/config/compiler/codegear.hpp (+0 -240)
oss/boost/boost_1_73_0/boost/config/compiler/comeau.hpp (+0 -59)
oss/boost/boost_1_73_0/boost/config/compiler/common_edg.hpp (+0 -161)
oss/boost/boost_1_73_0/boost/config/compiler/compaq_cxx.hpp (+0 -19)

...and 80 more files

📄 Description

This replaces ~70k LOC (parts of boost, 1/4th of the code in this project)
with ~700 LOC (small_vector.h). By replacing boost, we simplify future
maintenance and improve compile times.

Validation Steps Performed

  • New and existing unit tests are ok
  • Various common VT applications run fine in debug mode OpenConsole

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/13716 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 8/10/2022 **Status:** ✅ Merged **Merged:** 9/14/2022 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/small-vector` --- ### 📝 Commits (10+) - [`b0f8456`](https://github.com/microsoft/terminal/commit/b0f8456cdf1c8dc5595f40bc8b254dfbfeda8377) Replace dependency on boost with a custom small vector - [`efa468b`](https://github.com/microsoft/terminal/commit/efa468b07574414e19c6e3f52afea00147c34082) Fix various small_vector bugs - [`85d6c20`](https://github.com/microsoft/terminal/commit/85d6c2030fccefbced1ad2c56bea41f087d3f945) Fix x86 build, AuditMode, spell checks - [`6e0a33b`](https://github.com/microsoft/terminal/commit/6e0a33b6ac5f405b0c9e421c7522d1ab3bab642f) minimalistic is a word - [`c9ccf71`](https://github.com/microsoft/terminal/commit/c9ccf712951367e9729cf6f5a083be62b8b15fd8) Un-_Uglify names, Add _Verify_range, Swap vector with array iterator - [`86f0018`](https://github.com/microsoft/terminal/commit/86f00187c9dee228caec92a83f15d3f505749c76) Terminal's first use of C++20 concepts - [`4adc676`](https://github.com/microsoft/terminal/commit/4adc676af123000b9df8b135f343533f81a17d1f) Concepts are too powerful - [`af97cac`](https://github.com/microsoft/terminal/commit/af97cac9df5bd1d0f4442cb9bdfca090e9779ef8) Fix erase bug - [`fa79ae3`](https://github.com/microsoft/terminal/commit/fa79ae31b68fe9abf97f28b3cad269c265bc57ba) Provide basic exception safety - [`b92485e`](https://github.com/microsoft/terminal/commit/b92485eee41b3a69b6ad4148d2db5f0744e9af1e) Deduplicate push_back, Protect against arithmetic overflow ### 📊 Changes **464 files changed** (+1302 additions, -119862 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/allow/allow.txt` (+1 -0) 📝 `NOTICE.md` (+0 -33) ➖ `oss/boost/MAINTAINER_README.md` (+0 -15) ➖ `oss/boost/boost_1_73_0/LICENSE_1_0.txt` (+0 -23) ➖ `oss/boost/boost_1_73_0/README.md` (+0 -11) ➖ `oss/boost/boost_1_73_0/boost/assert.hpp` (+0 -85) ➖ `oss/boost/boost_1_73_0/boost/config.hpp` (+0 -67) ➖ `oss/boost/boost_1_73_0/boost/config/abi/borland_prefix.hpp` (+0 -27) ➖ `oss/boost/boost_1_73_0/boost/config/abi/borland_suffix.hpp` (+0 -12) ➖ `oss/boost/boost_1_73_0/boost/config/abi/msvc_prefix.hpp` (+0 -22) ➖ `oss/boost/boost_1_73_0/boost/config/abi/msvc_suffix.hpp` (+0 -8) ➖ `oss/boost/boost_1_73_0/boost/config/abi_prefix.hpp` (+0 -25) ➖ `oss/boost/boost_1_73_0/boost/config/abi_suffix.hpp` (+0 -27) ➖ `oss/boost/boost_1_73_0/boost/config/auto_link.hpp` (+0 -485) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/borland.hpp` (+0 -336) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/clang.hpp` (+0 -352) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/codegear.hpp` (+0 -240) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/comeau.hpp` (+0 -59) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/common_edg.hpp` (+0 -161) ➖ `oss/boost/boost_1_73_0/boost/config/compiler/compaq_cxx.hpp` (+0 -19) _...and 80 more files_ </details> ### 📄 Description This replaces ~70k LOC (parts of boost, 1/4th of the code in this project) with ~700 LOC (`small_vector.h`). By replacing boost, we simplify future maintenance and improve compile times. ## Validation Steps Performed * New and existing unit tests are ok ✅ * Various common VT applications run fine in debug mode OpenConsole ✅ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:36:33 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#29729