Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 1.16 KB

TODO.md

File metadata and controls

20 lines (13 loc) · 1.16 KB
  1. Возможно имеет смысл научить fast_string мувать в себя std::String/Vec

  2. Тогда можно иметь 4 состояния

    • 00 - small - строка на стеке, SSO оптимизация.
    • 01 - medium - строка как вектор, для коротких строк не влезающих на стек, а так же для мува.
    • 10 - large - строка как вектор, но с ref count, для остальных строк, COW оптимизация.
    • 11 - static - указатель на статическую строку для которой можно не выделять память.
  3. Метод with_capacity, нужно для pattern-ов like StringBuilder

  4. Метод insert(pos, str), так как он есть у std::String

  5. Зачем нам отдельно StringInner?

    • Не показывать, что наша строка это C union
    • Чтобы разделить имплементацию и API
  6. инлайны и вынести в отдельные функции больше померять

  7. miri test для ub и тд