Сообщение YAS: Yet Another Serialization от 13.10.2012 6:55
Изменено 04.03.2018 11:38 niXman
YAS: Yet Another Serialization
(updated 2018-03-04)
еще одна библиотека сериализации для С++. проживает тут.
YAS был создан как замена boost.serialization из-за непозволительно низкой скорости сериализации.
бинарная сериализация YAS в 3-8 раз быстрее.
текстовая сериализация YAS в 2-3 раза быстрее.
в планах — реализация JSON(сделано) и BSON.
YAS является 'header only' библиотекой. YAS не зависит от сторонних библиотек или от boost.
YAS предоставляет сериализацию как в/из буфер, так и в/из файл.
YAS может использоваться как на 32ух, так и на 64ех битной архитектурах. при этом, архивы сериализации полностью переносимы в обоих направлениях.
YAS требует от компилятора поддержки C++11.
YAS поддерживается следующими компиляторами:
список сериализуемых типов:
и, пожалуйста, сообщите если вы используете YAS в своем проекте
успешного использования!
— niXman.
еще одна библиотека сериализации для С++. проживает тут.
YAS был создан как замена boost.serialization из-за непозволительно низкой скорости сериализации.
бинарная сериализация YAS в 3-8 раз быстрее.
текстовая сериализация YAS в 2-3 раза быстрее.
в планах — реализация JSON(сделано) и BSON.
YAS является 'header only' библиотекой. YAS не зависит от сторонних библиотек или от boost.
YAS предоставляет сериализацию как в/из буфер, так и в/из файл.
YAS может использоваться как на 32ух, так и на 64ех битной архитектурах. при этом, архивы сериализации полностью переносимы в обоих направлениях.
YAS требует от компилятора поддержки C++11.
YAS поддерживается следующими компиляторами:
- GCC : 4.8.5, ...
MinGW: 4.8.5, ...
Clang: 3.8
Intel: (untested)
MSVC : 2015, ...
список сериализуемых типов:
- — [std::array](http://en.cppreference.com/w/cpp/container/array)
— [std::bitset](http://en.cppreference.com/w/cpp/utility/bitset)
— [std::chrono::duration](http://en.cppreference.com/w/cpp/chrono/duration)
— [std::chrono::time_point](http://en.cppreference.com/w/cpp/chrono/time_point)
— [std::complex](http://en.cppreference.com/w/cpp/numeric/complex)
— [std::deque](http://en.cppreference.com/w/cpp/container/deque)
— [std::forward_list](http://en.cppreference.com/w/cpp/container/forward_list)
— [std::list](http://en.cppreference.com/w/cpp/container/list)
— [std::map](http://en.cppreference.com/w/cpp/container/map)
— [std::multimap](http://en.cppreference.com/w/cpp/container/multimap)
— [std::multiset](http://en.cppreference.com/w/cpp/container/multiset)
— [std::optional](http://en.cppreference.com/w/cpp/utility/optional)
— [std::pair](http://en.cppreference.com/w/cpp/utility/pair)
— [std::set](http://en.cppreference.com/w/cpp/container/set)
— [std::string](http://en.cppreference.com/w/cpp/string/basic_string)
— [std::tuple](http://en.cppreference.com/w/cpp/utility/tuple)
— [std::unordered_map](http://en.cppreference.com/w/cpp/container/unordered_map)
— [std::unordered_multimap](http://en.cppreference.com/w/cpp/container/unordered_multimap)
— [std::unordered_multiset](http://en.cppreference.com/w/cpp/container/unordered_multiset)
— [std::unordered_set](http://en.cppreference.com/w/cpp/container/unordered_set)
— [std::vector](http://en.cppreference.com/w/cpp/container/vector)
— [std::wstring](http://en.cppreference.com/w/cpp/string/basic_string)
— [boost::array](http://www.boost.org/doc/libs/1_64_0/doc/html/array.html)
— [boost::chrono::duration](http://www.boost.org/doc/libs/1_64_0/doc/html/chrono/reference.html#chrono.reference.cpp0x.duration_hpp.duration)
— [boost::chrono::time_point](http://www.boost.org/doc/libs/1_64_0/doc/html/chrono/reference.html#chrono.reference.cpp0x.time_point_hpp.time_point)
— [boost::optional](http://www.boost.org/doc/libs/1_64_0/libs/optional/doc/html/index.html)
— [boost::variant](http://www.boost.org/doc/libs/1_64_0/doc/html/variant.html)
— [boost::container::deque](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/deque.html)
— [boost::container::string](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/basic_string.html)
— [boost::container::wstring](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/basic_string.html)
— [boost::container::vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/vector.html)
— [boost::container::static_vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/static_vector.html)
— [boost::container::stable_vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/stable_vector.html)
— [boost::container::list](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/list.html)
— [boost::container::slist](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/slist.html)
— [boost::container::map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/map.html)
— [boost::container::multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/multimap.html)
— [boost::container::set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/set.html)
— [boost::container::multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/multiset.html)
— [boost::container::flat_map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_map.html)
— [boost::container::flat_multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_multimap.html)
— [boost::container::flat_set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_set.html)
— [boost::container::flat_multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_multiset.html)
— [boost::unordered_map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_map.html)
— [boost::unordered_multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_multimap.html)
— [boost::unordered_set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_set.html)
— [boost::unordered_multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_multiset.html)
— [boost::fusion::pair](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/support/pair.html)
— [boost::fusion::tuple](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/tuple.html)
— [boost::fusion::vector](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/vector.html)
— [boost::fusion::list](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/list.html)
— [boost::fusion::map](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/map.html)
— [boost::fusion::set](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/set.html)
— [yas::intrusive_buffer](https://github.com/niXman/yas/blob/master/include/yas/buffers.hpp#L48) (only save)
— [yas::shared_buffer](https://github.com/niXman/yas/blob/master/include/yas/buffers.hpp#L67)
и, пожалуйста, сообщите если вы используете YAS в своем проекте
успешного использования!
— niXman.
YAS: Yet Another Serialization
(updated 2018-03-04)
еще одна библиотека сериализации для С++. проживает тут.
YAS был создан как замена boost.serialization из-за непозволительно низкой скорости сериализации.
бинарная сериализация YAS в 3-8 раз быстрее.
текстовая сериализация YAS в 2-3 раза быстрее.
в планах — реализация JSON(сделано) и BSON.
YAS является 'header only' библиотекой. YAS не зависит от сторонних библиотек или от boost.
YAS предоставляет сериализацию как в/из буфер, так и в/из файл.
YAS может использоваться как на 32ух, так и на 64ех битной архитектурах. при этом, архивы сериализации полностью переносимы в обоих направлениях.
YAS требует от компилятора поддержки C++11.
YAS поддерживается следующими компиляторами:
список сериализуемых типов:
и, пожалуйста, сообщите если вы используете YAS в своем проекте
успешного использования!
— niXman.
еще одна библиотека сериализации для С++. проживает тут.
YAS был создан как замена boost.serialization из-за непозволительно низкой скорости сериализации.
бинарная сериализация YAS в 3-8 раз быстрее.
текстовая сериализация YAS в 2-3 раза быстрее.
в планах — реализация JSON(сделано) и BSON.
YAS является 'header only' библиотекой. YAS не зависит от сторонних библиотек или от boost.
YAS предоставляет сериализацию как в/из буфер, так и в/из файл.
YAS может использоваться как на 32ух, так и на 64ех битной архитектурах. при этом, архивы сериализации полностью переносимы в обоих направлениях.
YAS требует от компилятора поддержки C++11.
YAS поддерживается следующими компиляторами:
- GCC : 4.8.5, ...
MinGW: 4.8.5, ...
Clang: 3.8
Intel: (untested)
MSVC : 2015, ...
список сериализуемых типов:
- — [std::array](http://en.cppreference.com/w/cpp/container/array)
— [std::bitset](http://en.cppreference.com/w/cpp/utility/bitset)
— [std::chrono::duration](http://en.cppreference.com/w/cpp/chrono/duration)
— [std::chrono::time_point](http://en.cppreference.com/w/cpp/chrono/time_point)
— [std::complex](http://en.cppreference.com/w/cpp/numeric/complex)
— [std::deque](http://en.cppreference.com/w/cpp/container/deque)
— [std::forward_list](http://en.cppreference.com/w/cpp/container/forward_list)
— [std::list](http://en.cppreference.com/w/cpp/container/list)
— [std::map](http://en.cppreference.com/w/cpp/container/map)
— [std::multimap](http://en.cppreference.com/w/cpp/container/multimap)
— [std::multiset](http://en.cppreference.com/w/cpp/container/multiset)
— [std::optional](http://en.cppreference.com/w/cpp/utility/optional)
— [std::pair](http://en.cppreference.com/w/cpp/utility/pair)
— [std::set](http://en.cppreference.com/w/cpp/container/set)
— [std::string](http://en.cppreference.com/w/cpp/string/basic_string)
— [std::tuple](http://en.cppreference.com/w/cpp/utility/tuple)
— [std::unordered_map](http://en.cppreference.com/w/cpp/container/unordered_map)
— [std::unordered_multimap](http://en.cppreference.com/w/cpp/container/unordered_multimap)
— [std::unordered_multiset](http://en.cppreference.com/w/cpp/container/unordered_multiset)
— [std::unordered_set](http://en.cppreference.com/w/cpp/container/unordered_set)
— [std::vector](http://en.cppreference.com/w/cpp/container/vector)
— [std::wstring](http://en.cppreference.com/w/cpp/string/basic_string)
— [boost::array](http://www.boost.org/doc/libs/1_64_0/doc/html/array.html)
— [boost::chrono::duration](http://www.boost.org/doc/libs/1_64_0/doc/html/chrono/reference.html#chrono.reference.cpp0x.duration_hpp.duration)
— [boost::chrono::time_point](http://www.boost.org/doc/libs/1_64_0/doc/html/chrono/reference.html#chrono.reference.cpp0x.time_point_hpp.time_point)
— [boost::optional](http://www.boost.org/doc/libs/1_64_0/libs/optional/doc/html/index.html)
— [boost::variant](http://www.boost.org/doc/libs/1_64_0/doc/html/variant.html)
— [boost::container::deque](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/deque.html)
— [boost::container::string](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/basic_string.html)
— [boost::container::wstring](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/basic_string.html)
— [boost::container::vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/vector.html)
— [boost::container::static_vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/static_vector.html)
— [boost::container::stable_vector](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/stable_vector.html)
— [boost::container::list](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/list.html)
— [boost::container::slist](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/slist.html)
— [boost::container::map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/map.html)
— [boost::container::multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/multimap.html)
— [boost::container::set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/set.html)
— [boost::container::multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/multiset.html)
— [boost::container::flat_map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_map.html)
— [boost::container::flat_multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_multimap.html)
— [boost::container::flat_set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_set.html)
— [boost::container::flat_multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/container/flat_multiset.html)
— [boost::unordered_map](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_map.html)
— [boost::unordered_multimap](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_multimap.html)
— [boost::unordered_set](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_set.html)
— [boost::unordered_multiset](http://www.boost.org/doc/libs/1_64_0/doc/html/boost/unordered_multiset.html)
— [boost::fusion::pair](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/support/pair.html)
— [boost::fusion::tuple](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/tuple.html)
— [boost::fusion::vector](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/vector.html)
— [boost::fusion::list](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/list.html)
— [boost::fusion::map](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/map.html)
— [boost::fusion::set](http://www.boost.org/doc/libs/1_64_0/libs/fusion/doc/html/fusion/container/set.html)
— [yas::intrusive_buffer](https://github.com/niXman/yas/blob/master/include/yas/buffers.hpp#L48) (only save)
— [yas::shared_buffer](https://github.com/niXman/yas/blob/master/include/yas/buffers.hpp#L67)
и, пожалуйста, сообщите если вы используете YAS в своем проекте
успешного использования!
— niXman.