Удобная сериализация данных с Variadic Templates

от автора


Предисловие

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

Поддерживаются следующие типы данных:

  • Все фундаментальные типы С++
  • std::string
  • std::vector где T — все что угодно из этого же списка.
    Любой перечислимый тип
  • В принципе, чтобы не писать одни и те же переменные в методы и уменьшить вероятность несоответствия списков параметров(что приведет к весьма плохим последствиям), можно ввести поддержку кортежей и вместо передачи списка аргументов передавать всем методам один кортеж.

    Всем кто уделил время моей статье — моя благодарность, а тем кто смог дотерпеть до конца еще и уважение.

ссылка на оригинал статьи http://habrahabr.ru/post/263599/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *