|  An accurate XML serialization  |  |   
[ iguana ](https://github.com/qicosmos/iguana) |  A modern, universal and easy-to-use serialization engine developed in C++17, based on compile-time Reflection. Supported formats: JSON, XML, user-defined.  |  Apache-2.0  |  cmake   
[ jios ](https://github.com/castedo/jios) |  JSON serialization  |  MIT  |  cmake   
[ protobuf ](https://github.com/google/protobuf/) |  Protocol Buffers (a.k.a., protobuf) is Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data, including .proto files compiler. ( [ Doc ](https://protobuf.dev/) )  |  [ Custom ](https://github.com/protocolbuffers/protobuf/blob/main/LICENSE) |  bazel, cmake   
[ rpnx-serial ](https://github.com/Exaeta/rpnx-serial) |  A library that can (de)serialize types like  [ std::map ](/w/cpp/container/map "cpp/container/map") ,  [ std::vector ](/w/cpp/container/vector "cpp/container/vector") , etc.  |  |   
[ Serio ](https://github.com/ShahriarSS/serio) |  A fast lightweight C++ serialization library  |  BSD-3-Clause  |  header-only; cmake   
[ ThorsSerializer ](https://github.com/Loki-Astari/ThorsSerializer) |  A C++ serialization library for JSON  |  MIT  |  make   
[ yaml-cpp ](https://github.com/jbeder/yaml-cpp) |  |  |   
[ YAS ](https://github.com/niXman/yas) |  **Y** et **A** nother **S** erialization is a C++11 library w/o third-party libraries dependencies. Archives can be binary, text, JSON  |  Boost  |  header-only   
  
Binary serialization

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ binn ](https://github.com/liteserver/binn) |  A binary serialization library designed to be compact, fast, and easy to use, itself an implementation of the same name format.  |  |   
[ blobify ](https://github.com/neobrain/blobify) |  A C++17 library that infers the serialized layout from the structure definition alone.  |  Boost  |  header-only; cmake   
[ bson-cxx ](https://github.com/dwight/bson-cxx) |  A C++11 implementation of [ BSON ](https://en.wikipedia.org/wiki/BSON "enwiki:BSON") format.  |  |  scons   
[ fast_ber ](https://github.com/Samuel-Tyler/fast_ber) |  A C++11 high-performance serialization using BER/DER encoding rules. Encoding layout is defined by ASN.1 schemas.  |  |   
[ UBjsonCpp ](https://github.com/WhiZTiM/UbjsonCpp) |  A high-performance UBJson read-write library based on C++14  |  |   
  
##  [ [ edit ](/mwiki/index.php?title=cpp/links/libs&action=edit&section=33
"Edit section: Sorting") ]  Sorting

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ Cpp-sort ](https://github.com/Morwenn/cpp-sort) |  A collection of various sorting algorithms in a simple package.  |  MIT  |   
[ Indiesort ](https://plflib.org/indiesort.htm) |  A function template that allows  [ std::sort ](/w/cpp/algorithm/sort "cpp/algorithm/sort") (and other random access sort functions) to be used with non-random-access containers. It also increases the performance of sorting large objects in random-access containers and arrays  |  zlib  |   
[ Timsort ](https://github.com/gfx/cpp-TimSort) |  A stable sorting function template which outperforms which outperforms quicksort-based algorithms including  [ std::sort ](/w/cpp/algorithm/sort "cpp/algorithm/sort") , for reversed or semi-sorted data.  |  MIT  |   
  
##  [ [ edit ](/mwiki/index.php?title=cpp/links/libs&action=edit&section=34
"Edit section: System") ]  System

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ Infoware ](https://github.com/ThePhD/infoware) |  A C++ library for pulling system and hardware information, without hitting the command line.  |  Creative Commons v1.0  |  cmake   
  
##  [ [ edit ](/mwiki/index.php?title=cpp/links/libs&action=edit&section=35
"Edit section: Terminal") ]  Terminal

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ cli ](https://github.com/daniele77/cli) |  A cross-platform library for interactive