Александр
Господа, серьезный вопрос. Нормально объяснить могу только упрощенным кодом:
Работает: https://godbolt.org/g/aK95sk
Не работает (добавили namespace): https://godbolt.org/g/9BM9pm
Вопрос: wat?
Реальный кейс: namespace serialization, в который можно добавлять реализацию сериализации для user-defined классов.
Stanislav
Matwey
@antoshkka не велит с нуля писать
Stanislav
@antoshkka по поводу строк вопрос возник. Проще спросить, чем разбираться. Можно ли с помощью трейтов как-то взаимодействовать содержимым string<>? Например, я хочу сделать такую штуку как атомы в эрланге. Пусть у меня где-то есть большая таблица в памяти, где хранятся все различные текстовые строки. Я могу там регистрировать новые строки в любой момент, с учетом того, что берусь сам следить за утечками. Хочу, чтобы каждый объект string<> вместо непосредственно буфера символов хранил указатель на нужную запись в таблице. Если мы записываем строку, которой там еще нет - то регистрируем ее. В таком случае, сравнение двух объектов строк на равенство будет равносильно сравнению указателей на запись таблицы, например.
интересно, если напишешь, показывай :)
Stanislav
есть https://github.com/lexborisov/myhtml но плюсового интерфейса нет, чистоси
Vlad
gnu lgpl
Vlad
нет, спасибо
Vladimir
Существует ли реализация "синхронных каналов" ну или чего-то другого в этом направлении.
Суть задачи:
Есть два процесса, один мастер, другой слейв, мастер может отправлять какие-то сообщения, и ждать фидбек.
Слейв же наоборот большую часть времени ждет сообщения, и как только оно приходит начинает выполнения, по завершению отправляя результат.
Stanislav
gnu lgpl
а какие проблемы с lgpl?
Vlad
Vladimir
lgpl это не ту, которую нельзя линковать ни с чем кроме gpl/lgpl?
Vladimir
видимо нет - наоборот
Vlad
ep
Что именно не важно? Они не смогли сделать средствами c++ то, что им было нужно и сделали moc. Я об этом, а ты о чём?
Misha
/stat@combot
Dr. Friedrich
нет, спасибо
LGPL это нормальная (относительно) лицензия. С ней только статически линковаться нельзя, остальное можно.
mefest
Vlad
Anton
mefest
Stanislav
Stanislav
https://github.com/woboq/verdigris/
только работает не везде
mefest
слышал еще, что в планах отказаться от moc
ep
Verdigris, да
ep
Где-то была статья про критику этого проекта со стороны разработчиков Qt
Dmitry
Я недавно с вами, что такое MP?
ep
метапрограммирование
Stanislav
https://github.com/woboq/moc-ng
ep
Не помню уже. Сейчас только вот такое смог найти, но это от тех же челов
https://woboq.com/blog/moc-myths.html
mefest
Stanislav
там видимо от разрабов CopperSpice
Stanislav
они там слегка упороты
Wipe
Всем доброго дня :) вопрос немного не по теме чата, как бы вы назвали канал с книгами по IT?
Anonymous
Anonymous
ребят, посоветуйте справочник, или литературу для изучения c++
Wipe
/root/books
Спасибо, тоже рассмотрю как вариант :)
Anatoly
Wipe
Vladimir
парни, кто знает как работает в с++ memory layout
Vladimir
например
struct A {
double X;
int Y;
};
struct B {
struct A A;
int Z;
};
Vladimir
и
class B : A {
int Y;
};
Vladimir
какой размер будет B в первом и втором кейсе
Vladimir
и где это описано
Vladimir
знаю
Vladimir
всмысле?
Evgenii
дожили: https://blog.jetbrains.com/clion/2017/10/clion-2017-3-eap-valgrind-memcheck-integration/
Vladimir
я же говорю на конкретном железе, где double к примеру 64 бита
а int 32 бита
Vladimir
выравнивание при этом будет 64 бита, но почему-то композиция и наследования создают разные структуры
Evgenii
ну типа давно ждал
Evgenii
😝
Vladimir
Evgenii
Vladimir
?)
Vladimir
чем он плох
Vladimir
санитайзер
Vladimir
окей, а где-то написано про Мемори лайоут, и какого фига при наследовании оно вставляет поля в родительское "выравнивание"
Vladimir
есть лине на это описание, или ты навскидку говоришь
Vladimir
Валгринд умеет запускать без бинарников? Ват?
Vladimir
ну ты же сам сказал
Vladimir
ты не написал "пересобрать". Это ж про ИДЕ, тут перебороть не должно быть проблемой
Vladimir
проверять будешь?
Vladimir
Vladimir
не нужно ничего доказывать
Vladimir
я понял тебя
Dr. Friedrich
Vladimir
видимо не про всё был этот слух
Dr. Friedrich
Vladimir
ну зависит что подразумевать под "совместимостью"
Dr. Friedrich
В новые стандарты добавили средств, чтобы ты мог контролировать выравнивание — всякие там alignas.
Vladimir
если то, что кто-то опирался на реализацию UB - это считается сломанной совместимостью