170 похожих чатов

Привет всем. Кто какие контейнеры использует? boost и std понятно,

а вот если хочется чего-то очень компактного и легкого (желательно не больше одного хидера на контейнер, или даже хардкодно заинклудить в собственные исходники). От C++11 и выше хотя бы, чтобы move-семантика была..

25 ответов

30 просмотров

C Template Library они чисто на хедерах

похоже на XY проблему. тебе зачем такое понадобилось?

https://github.com/glouw/ctl

Rustem Gimadutdinov
https://github.com/glouw/ctl

о, сишную дрянь тянут в це кресты чат

я тебя расстрою, но вопрос не имеет смысла без конкретизации целей

LaG1924- Автор вопроса
Alexander "SonnySlave" Zaitsev
похоже на XY проблему. тебе зачем такое понадобило...

Прямо вот сейчас потребовался std::vector с small-object-optimization, но задумался, что я уже не в первом проекте подобный контейнер быдлокодю, так что стоило бы изучить что же такого более умные люди придумали уже готового, а оно не гуглится (so вообще советует std::basic_string<my_non_pod>)..

LaG1924
Прямо вот сейчас потребовался std::vector с small-...

так требование то какое? я так и не понял :) контейнеры в отдельных хедераз или контейнеры с small object optimization?

Alexander "SonnySlave" Zaitsev
так требование то какое? я так и не понял :) конте...

ну что ты как маленький? ну вот контейнер, чтобы был хороший пушистый и весь из себя маленький, но обязательно такой вот, чтобы нравился

Alexander "SonnySlave" Zaitsev
так требование то какое? я так и не понял :) конте...

"Проблемы понимания впервые были подняты в философии неокантианства (Г. Риккерт[2]). Понимание как метод гуманитарных наук было противопоставлено объяснению как методу естественных наук. В современной философии понимание исследует герменевтика." "Понимание — это компонент мышления, один из образующих его процессов. Понимание обеспечивает установление связи раскрываемых новых свойств объекта познания с уже известными субъекту, формирование операционального смысла новых свойств объекта и определение их места и роли в структуре мыслительной деятельности." :)

Alexander "SonnySlave" Zaitsev
о, сишную дрянь тянут в це кресты чат

ну чел спросил же про контейнеры без стл и буста

Alexander "SonnySlave" Zaitsev
так а си тут при чём?

плюсы наследуют си, почти любой сишный код прикручивается

Rustem Gimadutdinov
плюсы наследуют си, почти любой сишный код прикруч...

ты аккуратнее, а то мы так быстро дойдем до того, что контейнеры через сишный интерфейс прикручивать будем и онтопиком считать. не надо так

LaG1924- Автор вопроса
Alexander "SonnySlave" Zaitsev
так требование то какое? я так и не понял :) конте...

Прямо сейчас задача такая: знаю, что в 99% случаев будет не больше N объектов, и вот хочу эти N объектов хранить на стэке, чтобы лишние аллокации каждый вызов функции с этим контейнером не делать (а если окажется что будет больше N, то я готов смириться с одной лишней аллокацией на 2N). То есть, нужен std:;vector с soo. Загуглил SmallVector, но может здесь посоветуют что-то более идеологически правильное. Но на будущее, хотелось бы, что бы оно было одним хидером и без зависимостей (кроме STL, разумеется), чтобы между проектами таскать...

LaG1924
Прямо сейчас задача такая: знаю, что в 99% случаев...

хм, прям чтобы отдельной либой такого я не помню. можешь попробовать выкорчевать из folly или из LLVM. там такие классы точно были. Я правда не понимаю особо, зачем такое надо. Как вариант, можешь выкорчевать из Boost с помощью Boost.BCP.

LaG1924- Автор вопроса
Alexander "SonnySlave" Zaitsev
хм, прям чтобы отдельной либой такого я не помню. ...

Хорошо. Это примерно то, чего я ожидал. Спасибо (теперь без сарказма).

LaG1924- Автор вопроса
Tony Werner
В etl такой вектор есть

Спасибо, посмотрю. А ещё меня эта etl навела на одну интересную мысль: использовать обычный std::vector, но с кастомным аллокатором, который будет сначала брать из фиксированного массива, а потом вызывать обычные new/delet (как раз недавно читал про подобное).

LaG1924- Автор вопроса
LaG1924
Спасибо, посмотрю. А ещё меня эта etl навела на од...

Какие подводные для такого способа реализовать static_vector/SmallVector через std::pmr::monotonic_buffer_resource? Кроме потребности в C++17.

Не поверишь, это STD!

LaG1924- Автор вопроса
Ilya Zviagin
Не поверишь, это STD!

Да, но изначально я не думал про кастомные аллокаторы для std::vector, и был уверен, что мне нужен какой-то особый контейнер.

Кто такой контейнер

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта