mcy / best

The Best Library: a C++ STL replacement
Apache License 2.0
158 stars 1 forks source link

Overhaul `best::ptr` #30

Closed mcy closed 1 month ago

mcy commented 1 month ago

This is the first in a series of PRs to fix some flaws in best's object model. This patch removes best::vptr and best::vbox, and unifies best::ptr<T> and best:;ptr<T[]> using a Rust-like pointer metadata system.

Unfortunately, this uncovered a bunch of gross issues with several core components, including handling of arrays, the construction concepts, containers like best::object, and the fact there is no rvalue span. In the sequel, I'll reorganize all of the type traits and concepts.