Сообщение YAS: Yet Another Serialization от 13.10.2012 6:55
Изменено 04.03.2018 11:37 niXman
YAS: Yet Another Serialization
еще одна библиотека сериализации для С++. проживает тут.
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 совместим с boost.serialization в режиме 'без заголовка'. на практике не проверялось.
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 умеет создавать архивы сериализации без информации о архиве(версия/тип/разрядность). теоретически, YAS совместим с boost.serialization в режиме 'без заголовка'. на практике не проверялось.
YAS поддерживается следующими компиляторами:
- GCC : 4.6.3, 4.7.0, 4.7.1, 4.7.2
MinGW: 4.6.3, 4.7.0, 4.7.1, 4.7.2
Clang: 3.0
Intel: (untested)
MSVC : 2008(partially), 2010, 2011
список сериализуемых типов:
- all built-in types
enum`s and 'enum class'es
std::array
std::bitset
std::string
std::wstring
std::pair
std::tuple
std::vector
std::list
std::forward_list
std::map
std::multimap
std::set
std::multiset
std::unordered_map
std::unordered_multimap
std::unordered_set
std::unordered_multiset
boost::array
boost::unordered_map
boost::unordered_multimap
boost::unordered_set
boost::unordered_multiset
boost::fusion::pair
boost::fusion::tuple
boost::fusion::vector
boost::fusion::list
boost::fusion::map
boost::fusion::set
qbitarray
qbytearray
qchar
qcolor
qdate
qdatetime
qhash
qlist
qmap
qmultihash
qmultimap
qpoint
qpointf
qpolygon
qpolygonf
qqueue
qrect
qrectf
qregion
qset
qsize
qsizef
qstack
qstring
qstringlist
qtime
qurl
quuid
qvariant
qvarianthash
qvariantlist
qvariantmap
qvector
qvector2d
qvector3d
qvector4d
yas::intrusive_buffer
yas::shared_buffer
пожалуйста, сообщите если вы используете 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.