Replace boost::container with cpp17::pmr #4731
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This removes the boost dependency to avoid having to make that work in our builds that are still using external packages. This change uses std::pmr when it is detected as available and usable. On platforms that don't have a working std::pmr (notably, macOS < 14), it uses the implementation from Pablo Halpern that is implemented with purely C++11 features.
The major downfall to this approach is that if/when we start changing allocator strategies it'll require us to backport/reimplement those allocator strategies for macOS < 14. However, if we end up writing our own allocation strategies they'll work on either implementation seamlessly.
TYPE: NO_HISTORY
DESC: Remove boost::container