... не такой, как сразу целиком инициализируемый значениями, и не меняющий свой размер std::array.
Я хочу сказать при инстанциации шаблона такого контейнера, что у меня будет максимум N элементов, а в списке инициализации могу задать n = от 0 до N, и size() будет возвращать n, а capacity() — N, и я могу делать всякие push_*, insert, при этом, если вылезаю за capacity, то кидается исключение.
Если такого нет, почему не сделали, вроде полезная штука, нет?
П>... не такой, как сразу целиком инициализируемый значениями, и не меняющий свой размер std::array.
П>Я хочу сказать при инстанциации шаблона такого контейнера, что у меня будет максимум N элементов, а в списке инициализации могу задать n = от 0 до N, и size() будет возвращать n, а capacity() — N, и я могу делать всякие push_*, insert, при этом, если вылезаю за capacity, то кидается исключение.
П>Если такого нет, почему не сделали, вроде полезная штука, нет?
На кастомных аллокаторах вроде запросто делается, не?
Re[2]: Есть ли в плюсах контейнер типа вектора, но
Здравствуйте, пффф, Вы писали:
σ>>На кастомных аллокаторах вроде запросто делается, не? П>Не знаю. Аллокаторы — это же про кучу, не? Не хотелось бы туда лазать
Да не трать ты время на этих бестолочей. Один умеет только рассказывать, как он в боях с еблером яйца себе отморозил, а другой — только надувать щеки и ставить смайлики. Все, ничего другого ты от них не добьешься.
Вот тебе примерный эскиз, как можно кастомизировать аллокатор:
Здравствуйте, пффф, Вы писали:
П>Привет
П>... не такой, как сразу целиком инициализируемый значениями, и не меняющий свой размер std::array.
П>Я хочу сказать при инстанциации шаблона такого контейнера, что у меня будет максимум N элементов, а в списке инициализации могу задать n = от 0 до N, и size() будет возвращать n, а capacity() — N, и я могу делать всякие push_*, insert, при этом, если вылезаю за capacity, то кидается исключение.
П>Если такого нет, почему не сделали, вроде полезная штука, нет?
static_vector — Все элементы в памяти, объекта как std::array
small_vector — Позволяет размещение в динамической памяти, если будет превышено заданное в шаблоне значение.
Re[4]: Есть ли в плюсах контейнер типа вектора, но
Здравствуйте, rg45, Вы писали:
П>>Не знаю. Аллокаторы — это же про кучу, не? Не хотелось бы туда лазать
R>Да не трать ты время на этих бестолочей. Один умеет только рассказывать, как он в боях с еблером яйца себе отморозил, а другой — только надувать щеки и ставить смайлики. Все, ничего другого ты от них не добьешься.
На самом деле, хотелось бы разобраться, как буст использовать с симейком.
Раньше я только под винду использовал с MSVC, собрал один раз бутстрап, собрал один раз буст, сделал boost.props, и его как раз одной строчкой в .vcxproj добавляю, и всё работает.
А тут приходиться пехаться с CMake и GCC, причем разных версий — GCC 7.3 для кути, GCC 13 для сборки нашего софта под винду, и GCC-ARM 13 для сборки под контроллер.
Скачал, наверное надо собрать под разные тулсеты? Попробовал CMake с одним — быстро вылетает по ошибке: windmc не может создать файл что-то-там/simple_log.h или как-то так. Сказал ему, что не надо мне библиотеки simple_log. В логах он пишет: собираю без библиотеки simple_log. Ок. Но потом та же ошибка.
В инете ни хрена полезного не нашел.
Ладно, решил родным b2 собрать. По дефлту он нашел gcc13 и им собрал. Ок. Теперь разбираюсь, как собрать другими компиляторами. А как потом это всё подсунуть в симейк, чтобы в итоге одной строчкой работало, пока даже не представляю.
Так что, если кто использовал буст в такой конфигурации, буду признателен за подсказки
Re[5]: Есть ли в плюсах контейнер типа вектора, но
П>На самом деле, хотелось бы разобраться, как буст использовать с симейком. П>Раньше я только под винду использовал с MSVC, собрал один раз бутстрап, собрал один раз буст, сделал boost.props, и его как раз одной строчкой в .vcxproj добавляю, и всё работает. П>А тут приходиться пехаться с CMake и GCC, причем разных версий — GCC 7.3 для кути, GCC 13 для сборки нашего софта под винду, и GCC-ARM 13 для сборки под контроллер.
Не обессудь, здесь не подскажу. Я с CMake последний раз имел дело в 2019 году, когда помогал дочке курсовую делать. Ну там по справке все находится при желании.
--
Re[5]: Есть ли в плюсах контейнер типа вектора, но
Здравствуйте, пффф, Вы писали:
П>А тут приходиться пехаться с CMake и GCC, причем разных версий — GCC 7.3 для кути, GCC 13 для сборки нашего софта под винду, и GCC-ARM 13 для сборки под контроллер.
В общем, поковырял я буст, и пришел к выводу, что под Cortex-M его не собрать через b2, можно попробовать юзать те либы, которые чисто хидерные, и не парясь вкорячивать кусочки буста прямо в проект.
В общем, шиш, а не в одну строчку в CMake
Re[6]: Есть ли в плюсах контейнер типа вектора, но
потому что там не надо ничего собирать
я буст не собираю
он у меня отдельной папкой в гита каждый день апдейтиться
а в cmake где я использую около деятка его либ
у меня пару строчек
и как это сделать
написано
прикинь
в самых редми буста
но ты туда не ходи
ты сюда ходи
жалуйся