Вопросы по теме 'allocator'

Использование пользовательского распределителя Lua для подсчета использования памяти, но его результат отличается от collectgarbage('count')
Недавно я пытался отследить использование памяти lua в нашем проекте, и мне пришла в голову идея использовать для этой задачи настраиваемый распределитель lua_Alloc. Что ж, код распределителя выглядит просто и работает нормально. Но вскоре эта...
2526 просмотров
schedule 14.03.2022

Как создать распределитель, который использует предварительно выделенное пространство памяти?
Мне нужно использовать данную область памяти в качестве кругового буфера. Мне дается указатель и размер области памяти, которую мне разрешено использовать в моей встроенной системе. Я думаю использовать класс boost::circular_buffer, но мне нужен...
178 просмотров
schedule 11.12.2023

Пользовательский std::allocator для классов с замененным оператором new
Недавно я заменил некоторые классы Vector/Matrix на классы, использующие SSE, и теперь проверяю правильность выравнивания памяти. Следуя совету в ответе на этот вопрос , я заменил оператор new/delete для классы, которым это требуется, и начали...
1354 просмотров

Интерфейсы C ++ 11 Allocator по умолчанию, которые я должен предоставить
Создавая свой собственный распределитель в C ++ 11, я реализую следующие интерфейсы. Это работает с вектором, но при попытке использовать это с картой я получаю ошибки по отсутствующим элементам. Я думал, что это все, что мне нужно реализовать для C...
404 просмотров
schedule 26.05.2022

Как распределитель C ++ должен обрабатывать свою выделенную память, когда она уничтожается / копируется / перемещается?
В настоящее время я пишу распределитель, который должен использоваться стандартными структурами данных C ++, т.е. он реализует Концепция аллокатора . Распределитель довольно прост: он выделяет блоки из x объектов и всегда передает следующий...
176 просмотров
schedule 14.12.2023

Можно ли написать собственный распределитель STL, который использует указатели на функции распределения, предоставленные пользователем?
У нас есть библиотека, которая предоставляет интерфейс C через extern "C" и используется из кода C, но внутри она использует контейнеры STL и некоторые функции C++, такие как RAII, для удобства. Теперь появилось новое требование, согласно...
367 просмотров
schedule 23.04.2022

Пользовательский распределитель с жесткими ограничениями
Я хочу заменить некоторый код, использующий boost::interprocess разделяемую память. Одним из преимуществ разделяемой памяти является то, что вы можете наложить ограничения на максимальный объем используемой памяти. Я ищу собственный...
68 просмотров
schedule 09.03.2024

VStudio 2012 Создание пользовательского распределителя для контейнера типа "только для перемещения"
Я пытаюсь создать контейнер stl типа только для перемещения, который использует собственный распределитель в VStudio 2012. Проблема в том, что мне кажется, что я должен предоставить функцию построения для распределителя, который, в свою очередь,...
71 просмотров
schedule 30.08.2022

использование std::unique_ptr с распределителями
На этот раз я пробовал свои силы с распределителями и чувствовал, что есть много шансов на утечку ресурсов. Поэтому я подумал, что если бы я использовал std::unique_ptr для их обработки. Я попробовал свои силы с распределителем std::vector . Мой...
8162 просмотров
schedule 14.01.2023

Почему многие функции распределителя являются необязательными?
Я только что завершил личный проект по переопределению операторов new и delete и в процессе узнал о классах распределителей. Прочитав несколько онлайн-справочников, в том числе cppreference.com, я заметил, что многие функции описываются как...
75 просмотров
schedule 05.10.2023

Почему std :: allocator требует, чтобы значение атрибута duplicate_on_container_move_assignment было истинным?
Согласно текущему стандарту (20.7.9), std::allocator имеет член propagate_on_container_move_assignment , для которого установлено значение true_type : распределитель классов шаблонов { public: typedef size_t size_type; typedef ptrdiff_t...
950 просмотров
schedule 15.05.2023

Почему `std::pmr::polymorphic_allocator` не распространяется при перемещении контейнера?
Из http://en.cppreference.com/w/cpp/memory/polymorphic_allocator : polymorphic_allocator не распространяется на назначение копии контейнера, назначение перемещения или обмен. В результате назначение перемещения polymorphic_allocator...
1870 просмотров
schedule 05.04.2022

Почему возникает сообщение об ошибке при объединении элементов списка из списков с разными распределителями? И как это можно исправить?
Здравствуйте, я пытаюсь передать/переместить элемент из одного списка (в примере foo) в (end()-1) в другой список (в примере с именем bar) в позицию begin(). Единственная проблема заключается в том, что в одном из списков используется специальный...
294 просмотров
schedule 30.03.2023

Обрабатывает ли std::allocator чрезмерно выровненные типы в С++ 17?
В C++17 представлены std::aligned_alloc и new с учетом выравнивания, которые могут выполнять избыточное выравнивание, но как насчет std::allocator ? Обрабатывает ли он чрезмерно выровненные типы?
780 просмотров
schedule 02.09.2023

Почему sizeof(T) внутри моего контейнерного распределителя отличается от только в нем?
В этом коде я получаю другое значение sizeof(T), если распределитель является частью выделения контейнера: #include <iostream> #include <set> #include <cstddef> class Item { int a; unsigned char b, c, d; int e, f,...
95 просмотров
schedule 01.02.2024

std::allocate_shared, разрешить выделение счетчика ссылок общего указателя из пользовательского распределителя и в одном выделении
Сделать общий доступ повышает производительность, используя одно выделение для счетчика ссылок и объекта, возможно ли использовать настраиваемый распределитель вместе с std::allocate_shared и по-прежнему иметь одно выделение, согласно тестовому коду,...
352 просмотров

Размещение динамических векторов во внешней оперативной памяти
В настоящее время я работаю над большим собственным проектом на микроконтроллере STM32F7 cortex-m7 на C ++ с использованием GCC. Мне нужно хранить большой массив во внешней SDRAM (16 МБ), содержащий векторы структур нот (по 12 байт). У меня уже есть...
232 просмотров
schedule 27.10.2023

пользовательский распределитель для карты stl в С++
Я хочу создать собственный распределитель для мультикарты, который будет распределять элементы в общей памяти. Я наткнулся на boost.interprocess, но обнаружил, что его довольно сложно реализовать. Есть ли другой обходной путь?
572 просмотров
schedule 27.04.2023

Как выделить внутренний узел RB_tree std::map в пуле памяти в С++ 11?
std::map определение скопировано ниже: template< class Key, class T, class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T> > > class map; На основе определения...
295 просмотров
schedule 01.06.2023

Существует ли стандартный адаптер/оболочка распределителя memory_resource?
Я удивлен, что не вижу стандарта или кого-либо еще (?), Предоставляющего адаптер/оболочку, чтобы стандартные распределители выглядели как std::memory_resource . Я что-то упускаю? Это просто что-то вроде template <typename ByteAllocator>...
52 просмотров
schedule 03.05.2023