forked from niXman/yas
starius/yas
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
YAS === Yet Another Serialization === YAS is created as a replacement of boost.serialization because of its insufficient speed of serialization. Increase speed of the YAS serialization compared with boost.serialization is: - ~2...3 times in release mode - ~6...7 times in debug mode Yas is header only library. You do not need to link it with your code. Yas does not depend on third-party libraries or boost. Yas require C++11 support. === Supported the following types of archives: - binary - text - json (uncompleted) === Supported the following compilers: - GCC : 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.8.0, 4.8.1 - x32/x64 - MinGW: 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.8.0, 4.8.1 - x32/x64 - Clang: 3.0, 3.1, 3.2, 3.3, 3.4 - x32/x64 - Intel: (untested) - MSVC : 2008(partially), 2010, 2011 - x32/x64 === Planned the support for the following serializable types: - 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 [1] (only save) - yas::shared_buffer [2] Currently supports all types except Qt types. === If you use YAS in your project - please tell to the author with the short description of the reasons and advantages in comparison with other serialization libraries ;) === [1] https://github.com/niXman/yas/blob/master/include/yas/detail/tools/buffers.hpp#L50 [2] https://github.com/niXman/yas/blob/master/include/yas/detail/tools/buffers.hpp#L72 === TODO 1. Add move-semantics support for deserializers. 2. Implement portable binary archives. Example: yas::binary_mem_oarchive<yas::endian_convertor> oa; oa & 33; 3. Implement the ability for compressing archives with LZO,ZLIB. Example: yas::binary_mem_oarchive<yas::lzo_compressor> oa; oa & 33;
About
Yet Another Serialization
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published