Probably need to keep the current API for compatibility with std::vector, but add a section with an "alternative" proposal that uses tags with_size (for inline_vector(with_size, N)).
I don't think we need a tag from_range for inline_vector(from_range, begin, end), since the iterators will have different types and we can sfinae on that, but need to study this and see if this is can be a problem.
Comment also on how this helps with the constexpr implementation since making the std::initializer_list constructor constexpr is a true pain point.
See @akrzemi1 blog post: the cost of
std::initializer_list
.Probably need to keep the current API for compatibility with
std::vector
, but add a section with an "alternative" proposal that uses tagswith_size
(forinline_vector(with_size, N)
).I don't think we need a tag
from_range
forinline_vector(from_range, begin, end)
, since the iterators will have different types and we can sfinae on that, but need to study this and see if this is can be a problem.Comment also on how this helps with the
constexpr
implementation since making thestd::initializer_list
constructorconstexpr
is a true pain point.