Evgenii
#include <auto>
#include <auto> template <typename... AutoArgs> auto main(AutoArgs... args) { return auto::auto(args...); }
Vladislav
#auto
Это программа на c++38 целиком
Stanislav
> Некоторые из проектов на Bit состоят в буквальном смысле из одной строки.
Surreal
Есть же IWYU. Надо допилить, чтобы он докачивал исходники еще необходимые.
Он еще всегда делает #include <new>, у меня QtCreator эту строку как-то странно подсвечивает.
Anatoly
если серьезно, делают, только медленно, и, вроде, как очевидно, почему медленно
Constantine
Это программа на c++38 целиком
Есть инфа про этот стандарт do class if inline bool this delete define this do int break sizeof public try if struct for auto static while
Дмитрий
))
Evgenii
Есть инфа про этот стандарт do class if inline bool this delete define this do int break sizeof public try if struct for auto static while
это новая комбинация кодовых слов, которую используют чтобы не вводить новые?
🦥Alex Fails
Заклинание, оптимизирующее код
Vladislav
> Atomic smart pointers (std::atomic_shared_ptr and std::atomic_weak_ptr) больше смарт-поинтеров богу смарт-поинтеров!
Vladislav
(отсюда https://en.wikipedia.org/wiki/C%2B%2B20)
Alexey
А поддержка JSON идет в разделе networking с++20, надеюсь?
Vladislav
А поддержка JSON идет в разделе networking с++20, надеюсь?
а зачем json в коробке? Полно хороших сторонних библеотек есть
Alexey
а зачем json в коробке? Полно хороших сторонних библеотек есть
Было бы гораздо удобнее иметь стандартную реализацию работы с json\xml. Есть куча разных библиотек, но чего-то я бы не сказал,что они удобные( В Qt, например, можно работать с JSON, но это насилие над личностью. Мне очень нравится как организована работа с JSON в golang, хотелось бы чего-то похожего в плюсах.
Alexey
🦥Alex Fails
Можнотзапилить подобный механизм в крестах
Vladislav
с интроспекцией в плюсах плоховато, чтобы именно так сделать
Vladislav
вот эта либа - огонь https://github.com/nlohmann/json
🦥Alex Fails
с интроспекцией в плюсах плоховато, чтобы именно так сделать
эт да.. можно фолд экспрессионом вжухнуть, как вариант
🦥Alex Fails
Алсо magic_get )))
Vladislav
тут они каким-то образом сделали, но я не знаю насколько гибко
Vladislav
https://github.com/nlohmann/json#arbitrary-types-conversions
🦥Alex Fails
тут они каким-то образом сделали, но я не знаю насколько гибко
Там вроде на специализации методов from_json / to_json
Stanislav
https://github.com/nlohmann/json#arbitrary-types-conversions
он пропозал кстати пытается сделать
Vladislav
Там вроде на специализации методов from_json / to_json
но как они имена полей выдергивают?
Stanislav
как и автор fmt
🦥Alex Fails
но как они имена полей выдергивают?
Ты типв сам пишешь специализацию под своц тип, и сам хуяришь нужнве поля
🦥Alex Fails
Как я понял
Vladislav
не, см. пример по ссылке
Alexey
To make this work with one of your types, you only need to provide two functions: to_json from_json Ну лол
Stanislav
не, см. пример по ссылке
всегда можно залезть в сорцы)
🦥Alex Fails
не, см. пример по ссылке
А по тому якорю просто гет. Он внутри дергает from_json твой
Vladislav
всегда можно залезть в сорцы)
можно конечно, но там один хедер на 14k строк ><
Vladislav
можно конечно thrift юзать, он генерит код в том числе для json'а
Vladislav
еще можно на boost.hana накалякать
Крылатый
Имея модули и общую идеологию можно иметь бесконечно расширеяему стандартную библиотеку без оверхеда.
Крылатый
Vladislav
там даже пример есть https://github.com/boostorg/hana/blob/master/example/misc/from_json.cpp
.
Парнии
.
Есть у кого?хорошая литература по изучению computer scince
Vladislav
слишком общий вопрос, какая область конкретно интересует?
Alexey
using namespace std; #define _NAME_OF_ARG(ARG) #ARG int main(int argc, char *argv[]) { struct Student{ char* name; char *surname; }; Student student; std::cout << _NAME_OF_ARG(student.name)<<std::endl; std::cout << _NAME_OF_ARG(student)<<std::endl; std::cout<<typeid(student.surname).name()<<std::endl; return 0; } Вот я по ходу выполнения программы узнаю тип переменной и её имя. Если заморочиться со вложенными структурами, то можно сделать golang-подобный парсер json.
Alexey
Разметка уплыла(
Stanislav
есть же няшный https://github.com/apolukhin/magic_get
Stanislav
но как, Холмс?
у Антона спроси)
Vladislav
ох, они там как-то абьюзят aggregate initialization внутри
Stanislav
@antoshkka
Vladislav
правда имена полей так не выдернешь
🦥Alex Fails
но как, Холмс?
Я ж кидал сюда. Антон рассказывал на первой встрече рг21)
Vladislav
но вообще крутая штука, с ней можно компараторы/хеши для произвольных POD генерить
🦥Alex Fails
Бля. Надо б в основной канал запостить эти заметки
Stanislav
https://www.youtube.com/watch?v=MbbOsKMA3rk
Stanislav
https://www.youtube.com/watch?v=jDI5CHKFKd0
Stanislav
этот получше
🦥Alex Fails
https://www.youtube.com/watch?v=jDI5CHKFKd0
Сделать транскрайб этого видео? Да – 16 👍👍👍👍👍👍👍 94% Нет – 1 ▫️ 6% 👥 17 people voted so far.
Vladislav
транскрайб - это как?
Stanislav
транскрайб - это как?
текст нафигачить
🦥Alex Fails
транскрайб - это как?
типв Стенограмма
Vladislav
кстати, гугловские автосабы внезапно почти хорошие
Vladislav
хотя местами и так
Vladislav
Крылатый
:D
Constantine
а зачем json в коробке? Полно хороших сторонних библеотек есть
Помню нагуглил первую попавшуюся, читаю, а они флоаты из строк конвертируют фором до порядка
Stanislav
хотя местами и так
хорошо что ладу седан не пишет
🦥Alex Fails
ща 10 лайков, и я вам кину линк на черновик транскрайба
🦥Alex Fails
Еееее 10 лайков
Constantine
какие подводные камни default для move constructor?
Surreal
Указатель на память, которая чистится в деструкторе.