Сериализация объектов с блэкджеком и метапрограммированием

RU / День 2 / 17:30 / Зал 2

Невозможно представить разработчика, который ни разу не сталкивался с задачей сериализации. В классическом представлении сериализация в языке C++ выглядит как «virtual string serialize() const = 0;» или генерируется автоматически через рефлексию. Однако и в том и в другом случае требуется доступ к базовому классу или к приватным полям класса. Но что, если они недоступны?

В этом докладе Александр опишет подход к полуавтоматической сериализации через геттеры при помощи метапрограммирования. В процессе мы «вскроем» сигнатуру геттера, применим мета-магию для его вызова, столкнемся с рекурсивными шаблонами (поймем, почему это плохо и как с этим бороться), а также узнаем в чем выигрыш подхода и какова его цена.

Комментарий программного комитета:

Метапрограммирование! Одна из самых актуальных тем в мире С++ сегодня. Хардкорный, но и практический доклад о том, как сделать сериализацию вложенных структур данных и не написать безумное количество кода.


Скачать презентацию