@ProCxx

Страница 2039 из 2477
Kirill
08.05.2018
11:12:53
шикарно

вобщем вся эта хрень делается для того что constexpr const обьект лежит в flash памяти и оперативку не занимает, даже если часть данных не известна в компайл тайме и меняется в рантайме, то constexpr аллокатор позволяет узнать указатель на эту область памяти в компайл тайме и... запихнуть указатель на эту структуру данных в констекспр конст обьект.

pavel
08.05.2018
11:41:11
Вопрос про git. Есть master, есть ветка sobaka. В sobaka коммичу много коммитов, пушу. Делают в неё merge мастера, пушу. Опять делаю коммиты. Теперь хочется сделать так, чтобы к мастеру добавился 1 коммит, отражающий все изменения сделанные в sobaka. В этом коммите должна быть разница между последним коммитом master и последним коммитом в sobaka.

Andrey
08.05.2018
11:43:16
ну это же обычный мёрдж с фастфорвардом нет?

Google
Andrey
08.05.2018
11:43:51
Ну то есть если делаешь мёрдж из собаки в мастер без ключа --no-ff то так и должен получиться один коммит

pavel
08.05.2018
11:44:40
Хочется как-то без —squash почему-то, а через rebase.

Andrey
08.05.2018
11:44:53
--ff?

pavel
08.05.2018
11:46:00
ну это же обычный мёрдж с фастфорвардом нет?
Нет, я не хочу видеть в master все свои 100500 тупых коммитов из моей ветки, а хочу видеть 1 красивый где сразу всё хорошо.

Scarf
08.05.2018
11:46:07
Хочется как-то без —squash почему-то, а через rebase.
Либо squash, либо rebase -i, а там squash. А вообще это оффтоп, не?

Igor
08.05.2018
11:46:23
да, вам в pro.git

Другие чаты ? @ProCxx – чат для серьезных вопросов; ? @ProCxxLib – библиотека книг по языку C++, проектированию и программированию; ? @ProCxxNews – новости из мира C++, интересные статьи и пр. ? @ProAlgorithms – чат по обсуждению вопросов проектирования, архитектуры программного обесепечения; ? @ProLua – чатик по скриптовому языку Lua; ? @fludpac – флудилка, чат по обсуждению всего; ? @xthon – канал с цитатами участников pro.* ? @prodot – канал pro.*; ? @flood – общий флуд канала @prodot; ? supapro.cxx – чат помощи для новичков; ? pro.git – чат по обсуждению Git; ⚔ pro.cxx.holywars – чат для любителей холиваров; ?pro.net – чат по .NET Framework; ?pro.linux – чат по Линуксу; ?pro.linux.old – самая первая группа из коллекции pro.*. Вход по инвайтам, т.к. создатель группы удалился из telegram; ? Opengl / opencl / Vulkan / etc gamedev – no-flood-чат по опенглу и пр. Читайте правила при входе! Пока не в системе pro.* English chats ❤️ @undertale_chat – chat about the Undertale game; ?? pro.english – chat about learning English.

Michael
08.05.2018
13:05:00
Добрый день, подскажите какую-нибудь системную функцию windows, которая вызывается при запуске любого приложения?

Ilia
08.05.2018
13:05:37
SetWindowText

Michael
08.05.2018
13:08:34
SetWindowText
Даже если окно без заголовка?

Anton
08.05.2018
13:12:44
Всем ку, есть дровописатели?)

Google
Anatoly
08.05.2018
13:13:00
У нас в проекте в базовом интерфейсе используется агрегат struct foo{...};, который везде передается и хранится по значению (не отнаследоваться) и понадобилось добавить к этому агрегату объект, тип которого на уровне базового интерфейса должен остаться incomplete (чтобы не порождать зависимостей базого интерфейса от специфичного типа), но при этом время жизни этого объекта должен контролировать агрегат. unique_ptr/shared_ptr/optional не катит, в виду необходимости знать полный тип для удаления при формировании деструктора foo. Как бы вы решали?

Ⱪonstantin
08.05.2018
13:18:13
Перестать стоить костыли и сделать по нормальному

Имхо, если правильно понял проблему

Michael
08.05.2018
13:20:35
GetStdHandle
Спасибо

Anatoly
08.05.2018
13:20:40
Если в unique_ptr добавить кастомный делетер, то все-равно всё еще нужно будет знать тип?
мне кажется, я рано сбросил из рассмотрения shared_ptr, ему-то как раз не нужен полный тип.

Matwey
08.05.2018
13:22:20
в этом случае deleter должен знать полный тип
Ну ты передай в качестве deleter указатель на функцию. А саму функцию сложи в другую единицу компиляции

void (*Deleter)(incomplete*);

как-то так же

Anatoly
08.05.2018
13:23:48
Ну ты передай в качестве deleter указатель на функцию. А саму функцию сложи в другую единицу компиляции
у базового интерфейса более 600 библиотек, которые его используют, чтобы этот deleter стал доступен надо будет их слинковать с реализацией этого делетор-а, если я правильно понял твою идею

Anatoly
08.05.2018
13:25:11
Да
вот я как раз этого хотел избежать

Matwey
08.05.2018
13:25:47
А где живет вот этот твой тип неполный?

Anatoly
08.05.2018
13:26:29
А где живет вот этот твой тип неполный?
в месте создания этого агрегата

Ilia
08.05.2018
13:26:35
Всем ку, есть дровописатели?)
ЭТо тебе в ту конфу, которая по чистым Сям. И которая сдохла.

Matwey
08.05.2018
13:26:46
@anatolijs Т.е. это нечно, что тебе библиотеки отдают?

Anatoly
08.05.2018
13:28:11
@anatolijs Т.е. это нечно, что тебе библиотеки отдают?
да, скажем, lib1 и lib2 зависит от dll, которая содержит boo. lib1 создаст boo, lib2 его использует, но при этом все остальные библиотеки этот incomplete тип boo просто игнорят

Anton
08.05.2018
13:28:12
ЭТо тебе в ту конфу, которая по чистым Сям. И которая сдохла.
Дык виндовый вдк сплош и рядом на плюсах, неужто нихто?

Google
Anatoly
08.05.2018
13:30:00
И хранится он у тебя по классике а-ля void* data?
нет, forward declaration, только надо было придумать как хранить

проверил, shared_ptr подходит, хотя до этого я рассматривал и такой вариант: struct boo; struct foo { ... std::function<boo*()> boo_provider; }; ... boo b; foo f; f.foo_provider = [b](){return &b;};

Ilia
08.05.2018
13:31:05
такие советы я и сам могу давать :)
Вообще, я считаю, он нас обидел! Он наш гениальный код назвал костылями!

Anatoly
08.05.2018
13:32:04
А shared_ptr разве делетер не нужно будет вызывать?
он связывается с deleter-ом во время конструирования

Matwey
08.05.2018
13:32:23
А, всё, понял!

Ilia
08.05.2018
13:32:32
Дык виндовый вдк сплош и рядом на плюсах, неужто нихто?
Если ты нанять хочешь, вакансию пиши @AlexFails , он опубликует в канале.

Matwey
08.05.2018
13:32:33
Прикольно.

Ilia
08.05.2018
13:33:43
Прикольно не это, а то, что Толя лет 5 назад просто балдел от этой фичи и мне все уши ею прожужжал... А теперь сам про это забыл.

Anatoly
08.05.2018
13:35:33
Старость - не радость
слухи о моей смерти слегка преувеличены :)))

Alex Фэils?︙
08.05.2018
13:36:34
Anatoly
08.05.2018
13:36:39
но с лямбдой мне ход понравился

проверил, shared_ptr подходит, хотя до этого я рассматривал и такой вариант: struct boo; struct foo { ... std::function<boo*()> boo_provider; }; ... boo b; foo f; f.foo_provider = [b](){return &b;};

Alexander
08.05.2018
13:36:48
сказали же тебе, что тут не про линукс

Anatoly
08.05.2018
13:37:53
Ilia
08.05.2018
13:38:14
Как создашь? Он же захватывается...

Не ну тут ничего не сделать, надо выводить локальный boo из его времени жизни в этот объект foo

Google
Anton
08.05.2018
13:39:17
Допустим
В дровах, нуб хотел поинтересоватся, наиболее правильный способ обмена между драйвером, и котролирующим драйвер софтом, юзер тыкает настройку в софте, драйвер должен применить параметры, загвоздка в том что драйвер на другом уровне ядра

Anatoly
08.05.2018
13:39:27
Antony
08.05.2018
13:57:56
Немного новостей по Boost. Тут приехал замечательный pull request, на докер образ в котором можно собирать и тестировать Boost https://github.com/boostorg/boost/pull/184

Admin
ERROR: S client not available

Antony
08.05.2018
14:08:47
Вечерком поервьюю + попрошу возможность делать ещё один образ с собраным бустом

Konstantin
08.05.2018
14:13:14
зачет

в образе не хватает тулзов для документации

там надо ставить всякие asciidoc и прочее для буста

Antony
08.05.2018
14:14:03
помедленнее, я записываю

doxygen

Konstantin
08.05.2018
14:15:30
xsltproc

Alexander
08.05.2018
14:15:31
так, стоп. а зачем бусту doxygen?

там же quickbook

Konstantin
08.05.2018
14:15:50
короче тут все указано https://www.boost.org/doc/libs/1_55_0/doc/html/boostbook/getting/started.html

Doxygen is required to build the documentation for several Boost libraries. You will need a recent version of Doxygen

я так понимаю у каждого автора по своему кто во что горазд

Google
Konstantin
08.05.2018
14:16:42
да и в принципе документация буста сильно по разному выглядит

Antony
08.05.2018
14:17:06
там есть скриптик, который всё автоматом подтягивает надо его просто запустить при формировании контейнера

Konstantin
08.05.2018
14:17:09
docbook quickbook doxygen

точно ools/boostbook/setup_boostbook.sh

Alex Фэils?︙
08.05.2018
14:33:30
наркомания

Alex Фэils?︙
08.05.2018
14:44:13
да вот вы наркоманы, я же устану писать вам всем новости

пишите в новостной канал )))

Denis
08.05.2018
14:47:20
пишите в новостной канал )))
ну кто нибудь напишет, надеюсь, про оба

Alex Фэils?︙
08.05.2018
14:47:41
я уже скинул

John
08.05.2018
15:48:42
Есть кто поможет?

Scarf
08.05.2018
15:49:18
Alex
08.05.2018
15:50:26
я уже скинул
даже задания не дали дочитать(

Denis
08.05.2018
15:54:09
Constantine
08.05.2018
15:54:27
Потому что можем, лол
Это толстая шутка, у меня завелосиперидовано, правда, я не знаю, зачем писать доклад)

Потому что можем, лол
Что характерно, делается это достаточно просто, но я безумнейше тупил :)

Denis
08.05.2018
15:59:52
Что характерно, делается это достаточно просто, но я безумнейше тупил :)
Ага, там все внутренности методов выводятся из их сигнатур. Собственно про это и доклад, что все простг

Страница 2039 из 2477