awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jbeder avatar

jbeder/yaml-cpp

0
View on GitHub↗
5,931 stele·2,108 fork-uri·C++·MIT·5 vizualizări

Yaml Cpp

yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text.

The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for custom user-defined structs and standard STL containers.

For output formatting, the library offers manipulator-driven control over flow style, block style, comments, and anchors. It includes null-safe node access that returns default values for missing keys, and supports ASCII-only output mode that escapes all non-ASCII characters. The library also provides emitter error detection to catch malformed output during emission.

Features

  • YAML Libraries - A C++ library for parsing and emitting YAML 1.2 documents with nested structures and custom types.
  • Node-Tree Data Models - Represents parsed YAML as a mutable tree of typed nodes supporting traversal and in-place editing.
  • YAML Node Values - Extracts typed data from a node and assigns new values for round-trip editing.
  • Collection Iteration - Exposes YAML sequences and maps through standard C++ iterators for element traversal.
  • YAML Stream Emitters - Generates YAML output incrementally through a stream abstraction that accepts manipulator commands.
  • Recursive Descent Parsers - Parses YAML tokens by recursively descending through grammar rules to build a typed node tree.
  • YAML Data Serialization - Emits in-memory C++ data structures as YAML 1.2 formatted text.
  • YAML Structure Builders - Constructs hierarchical YAML structures by nesting sequence and map manipulators.
  • YAML Structure Builders - Constructs nested maps, sequences, scalars, and aliases from scratch using bracket and push operations.
  • Compile-Time Serialization - Converts between YAML nodes and C++ types using template specializations for compile-time serialization.
  • YAML Node Conversions - Specializes a conversion template to encode and decode user-defined structs as YAML nodes.
  • Multi-Document YAML Parsing - Loads YAML 1.2 documents into a traversable node tree for programmatic access.
  • YAML Serializers - Writes C++ data structures as YAML 1.2 formatted text for storage or transmission.
  • Streaming Emitters - Writes YAML output incrementally using stream manipulators to produce structured text.
  • Output Format Manipulators - Provides manipulator-driven control over flow style, block style, comments, and anchors in YAML output.
  • YAML Format Modifiers - Applies formatting modifiers like literal blocks, flow style, comments, and anchors to customize YAML output.
  • YAML Output Format Modifiers - Applies formatting modifiers like literal blocks, flow style, comments, and anchors to customize YAML output.
  • YAML Node Types - Queries whether a node is a scalar, sequence, map, null, or undefined to handle heterogeneous data safely.
  • Template-Based Type Serializers - Provides template-based compile-time serialization for custom C++ structs to YAML nodes.
  • STL Container Outputs - Outputs standard C++ vectors, lists, and maps directly as YAML sequences or mappings.
  • XML and YAML Node Navigation - Builds, inspects, and modifies hierarchical YAML structures using sequences, maps, and scalars.
  • Default Value Returns - Provides null-safe node access that returns default values for missing keys during YAML traversal.
  • AI & Machine Learning - YAML parser and emitter
  • Serialization and Parsing - Parser and emitter for YAML data.
  • Data Serialization - YAML parser and emitter for C++.

Istoric stele

Graficul istoricului de stele pentru jbeder/yaml-cppGraficul istoricului de stele pentru jbeder/yaml-cpp

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face jbeder/yaml-cpp?

yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text.

Care sunt principalele funcționalități ale jbeder/yaml-cpp?

Principalele funcționalități ale jbeder/yaml-cpp sunt: YAML Libraries, Node-Tree Data Models, YAML Node Values, Collection Iteration, YAML Stream Emitters, Recursive Descent Parsers, YAML Data Serialization, YAML Structure Builders.

Care sunt câteva alternative open-source pentru jbeder/yaml-cpp?

Alternativele open-source pentru jbeder/yaml-cpp includ: nodeca/js-yaml — js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as… symfony/yaml — This project is a PHP library that serves as a configuration file processor, providing a bridge to translate… goccy/go-yaml — This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates… dtolnay/serde-yaml — Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex… jeremyfa/yaml.js — This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable… msgspec/msgspec — msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a…

Alternative open-source pentru Yaml Cpp

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Yaml Cpp.
  • nodeca/js-yamlAvatar nodeca

    nodeca/js-yaml

    6,591Vezi pe GitHub↗

    js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as a parser and serializer that converts YAML strings into JavaScript objects and transforms JavaScript objects back into YAML format. The library includes a command-line interface for parsing or dumping YAML data via direct input or data pipes. It also features an abstract syntax tree transformer to modify the structure of data during serialization. The project provides capabilities for multi-document processing and the definition of custom schemas and tags to handle specialize

    JavaScript
    Vezi pe GitHub↗6,591
  • symfony/yamlAvatar symfony

    symfony/yaml

    3,843Vezi pe GitHub↗

    This project is a PHP library that serves as a configuration file processor, providing a bridge to translate human-readable YAML text into native PHP arrays and objects. It functions as both a parser for converting YAML content into application-ready data structures and a serializer for transforming PHP data back into formatted YAML strings. The library includes security protections designed to prevent memory exhaustion and stack overflow attacks when processing untrusted documents. It ensures structural integrity through syntax validation and provides a command-line utility to check files fo

    PHPcomponentphpsymfony
    Vezi pe GitHub↗3,843
  • goccy/go-yamlAvatar goccy

    goccy/go-yaml

    2,189Vezi pe GitHub↗

    This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates the transformation of complex objects into human-readable text formats and provides mechanisms for mapping data fields through reflection and custom type handling. The library distinguishes itself by maintaining an intermediate abstract syntax tree, which allows for precise document modifications and the preservation of comments during serialization. It includes a path-based query engine that enables users to navigate, filter, and update document hierarchies without manual it

    Gogogolanggolang-library
    Vezi pe GitHub↗2,189
  • dtolnay/serde-yamlAvatar dtolnay

    dtolnay/serde-yaml

    1,019Vezi pe GitHub↗

    Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex data structures into YAML format and the deserialization of YAML text into strongly typed objects. It functions as a data format converter, enabling the transformation of structured information between native language types and human-readable configuration files. The library integrates with the standard Rust serialization ecosystem to map arbitrary data types to and from the YAML format. By utilizing trait-based data mapping, it allows developers to manage application settings an

    Rustrustserdeyaml
    Vezi pe GitHub↗1,019
  • Vezi toate cele 30 alternative pentru Yaml Cpp→