Lançamento da versão 7.2.0 de alto desempenho uma biblioteca Glaze, projetado para ler e gravar JSON com recursos convenientes de serialização e desserialização de dados.
Formatos CSV também são suportados, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (opcional, requer bibliotecas Erlang para compilação), YAML 1.2, Stencil e Mustache. A biblioteca é escrita em C++ (header-only, padrão C++23 ou superior) e é distribuída sob a licença MIT.
O Glaze também oferece suporte a REPE RPC e servidor e cliente HTTP, utilizando recursos modernos do C++, incluindo geração automática de REST API, suporte a WebSocket e criptografia SSL/TLS.
Lista de mudanças:
- O Glaze agora suporta P2996 «Reflection for C++26». Este suporte adicionou funcionalidades que não estavam disponíveis em implementações anteriores de reflexão em tempo de compilação:
- suporte a tipos não agregados – classes com construtores, funções virtuais e herança funcionam sem problemas;
- serialização automática de enumerações – glz::meta não é necessário, enumerações são serializadas automaticamente em strings;
- quantidade ilimitada de membros de estrutura – sem a limitação anterior de 128 membros;
- acesso a membros privados – reflexão de todos os membros, independentemente dos especificadores de acesso;
- utiliza recursos padrão std::meta – sem truques específicos do compilador;
- compiladores suportados: GCC 16+ (com as opções-std=c++26 -freflection) e Bloomberg clang-p2996. Para mais informações veja documentação sobre reflexão C++26.
- Adicionada a possibilidade de configuração do tamanho do buffer em stream_request.
- Corrigidos erros de parsing YAML.
Fonte: linux.org.ru
