Size: a a a

2020 September 30

АР

Андрей Руссков... in pro.cxx
тебе тогда надо еще уметь запрашивать сколько уже выделено
источник

AT

Anatoly Tomilov in pro.cxx
сколько уже выделено для конкретного указателя
источник

АР

Андрей Руссков... in pro.cxx
вообще хорошо бы сделать такой интерфейс, который легко реализуется через методы сишной либы
источник

AT

Anatoly Tomilov in pro.cxx
указывающего на начало диапазона
источник

АР

Андрей Руссков... in pro.cxx
Anatoly Tomilov
сколько уже выделено для конкретного указателя
ну тот же std::vector уже содержит capacity
источник

I

Ioann_V in pro.cxx
Андрей Руссков
вообще хорошо бы сделать такой интерфейс, который легко реализуется через методы сишной либы
а я вот всегда думал про шаблоны в аллокаторе, чтобы сразу размер знать той памяти что освобождаем
источник

I

Ioann_V in pro.cxx
если речь о trivial copyable => сразу обращаться к нужному пулу, там же Слаб аллокаторы нынче
источник

АР

Андрей Руссков... in pro.cxx
хотя кстати да. realloc же не может не знать размер расширяемого блока памяти...
источник

AT

Anatoly Tomilov in pro.cxx
std::vector::capacity — это про виртуальную память, имеющую под собой физические страницы, а size_t Allocator::max_capacity(T * p) — про зарезервированный диапазон виртуальных адресов, начинающийся с p
источник

АР

Андрей Руссков... in pro.cxx
Anatoly Tomilov
std::vector::capacity — это про виртуальную память, имеющую под собой физические страницы, а size_t Allocator::max_capacity(T * p) — про зарезервированный диапазон виртуальных адресов, начинающийся с p
в любом случае тебе это нужно знать только для реализации того самого try_realloc_in_place
источник

АР

Андрей Руссков... in pro.cxx
или как я бы его назвал expand_in_place
источник

АР

Андрей Руссков... in pro.cxx
то есть проблему можно решить добавив в allocator два опциональных метода - expand/expand_in_place. Ну или reallocate/expand, неважно
источник

AT

Anatoly Tomilov in pro.cxx
вот если бы hint мог быть возвращён из allocate и вызывающий был бы обязан учитывать это, то можно было бы делать аллокаторы, использующие механизм виртуальной памяти
источник

I

Ioann_V in pro.cxx
Anatoly Tomilov
вот если бы hint мог быть возвращён из allocate и вызывающий был бы обязан учитывать это, то можно было бы делать аллокаторы, использующие механизм виртуальной памяти
Хочу отметить, что в std set extract +-
источник

I

Ioann_V in pro.cxx
такое есть*
источник

АР

Андрей Руссков... in pro.cxx
ну в реализациях контейнеров хинты же никто не использует по сути
источник

AT

Anatoly Tomilov in pro.cxx
std::set это что-то разбросанное по памяти. Здесь же речь про contiguous memory
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
ну в реализациях контейнеров хинты же никто не использует по сути
ну вот можно было бы обязать как-то использовать
источник

I

Ioann_V in pro.cxx
Я к  тому что и в аллокаторе что-то такое коммитет может сделать - запросто и я уверен - сделают
источник

AT

Anatoly Tomilov in pro.cxx
Anatoly Tomilov
ну вот можно было бы обязать как-то использовать
если говорить о возможности изменения стандарта
источник