|
rapidyaml 0.14.0
parse and emit YAML, and do it fast
|
| Quickstart | Example code for every feature |
| Sample helpers | Helper utilities used in the sample |
| Serialize/deserialize scalar types | |
| Define to_chars to write scalar types | To serialize user scalar types, implement the appropriate function to_chars (see also to_chars: generalized chars to value): |
| Define from_chars to read scalar types | To deserialize user scalar types, implement the function bool from_chars(csubstr buf, T *val); see from_chars: generalized chars to value |
| Serialize/deserialize container types | To serialize/deserialize container types to a tree, implement the appropriate functions: |
| Parse utilities | |
| Scalar filter processors | These are internal utilities used by ParseEngine to parse the scalars; normally there is no reason for a user to be manually using these classes |
| Parse in place with existing parser | Parse a mutable YAML source buffer (re)using an existing parser |
| Parse in place with temporary parser | Parse a mutable YAML source buffer |
| Parse in arena with existing parser | Parse a read-only (immutable) YAML source buffer |
| Parse in arena with temporary parser | Parse a read-only (immutable) YAML source buffer |
| Event Handlers | Rapidyaml implements its parsing logic with a two-level model, where a ParseEngine object reads through the YAML source, and dispatches events to an EventHandler bound to the ParseEngine |
| Emit utilities | Utilities to emit YAML and JSON, either to a memory buffer or to a file or ostream-like class |
| Emit to file | |
| Emit to an STL-like ostream | |
| Emit to memory buffer | |
| Emit to resizeable container | |
| Writer objects to use with an Emitter | |
| Node types | |
| Tree utilities | |
| Serialization helpers | |
| Node classes | High-level node classes |
| Serialization helpers | |
| Error handling | Utilities to report handle errors, and to build and report error messages |
| Callbacks for errors and allocation | Functions called by ryml to allocate/free memory and to report errors |
| Serialization/deserialization | Contains information on how to serialize and deserialize fundamental types, user scalar types, user container types and interop with std scalar/container types |
| Anchor/Reference utilities | |
| Tag utilities | |
| Preprocessors | Functions for preprocessing YAML prior to parsing |
| preprocess_rxmap | Convert flow-type relaxed maps (with implicit bools) into strict YAML flow map: |
| File utils | Functions for loading/saving a file from/to disk |
| file_put_contents() | Save a buffer to disk |
| file_get_contents() | Load a file from disk into a buffer |
| stdin_get_contents() | Load a file from stdin (or similar stream-like file) into a buffer |
| String traits classes | |
| Substring: read/write string views | |
| substr adapters | c4::to_substr() and c4::to_csubstr() are used in generic code like c4::format() |
| create substrings from a char literal | |
| create substrings from C strings | |
| neutral version for use in generic code | |
| substr left-comparison operators | |
| left-compare a single char with a csubstr | |
| left-compare a string literal with a csubstr | |
| left-compare a C-string with a csubstr | |
| Charconv utilities | Lightweight, very fast generic type-safe wrappers for converting individual values to/from strings |
| Get number of digits | |
| Write with known number of digits | Writes a value without checking the buffer length with regards to the required number of digits to encode the value |
| Write a value | Writes a value without checking the buffer length decimal number – but asserting |
| Read a value | |
| itoa: signed to chars | |
| utoa: unsigned to chars | |
| atoi: chars to signed | |
| atou: chars to unsigned | |
| overflows: does a number string overflow a type | |
| ftoa: float32 to chars | |
| dtoa: float64 to chars | |
| atof: chars to float32 | |
| atod: chars to float64 | |
| xtoa: generic value to chars | Dispatches to the most appropriate and efficient conversion function |
| atox: generic chars to value | Dispatches to the most appropriate and efficient conversion function |
| to_chars: generalized chars to value | Convert the given value, writing into the string |
| from_chars: generalized chars to value | Read a value from the string, which must be trimmed to the value (ie, no leading/trailing whitespace) |
| from_chars_first: generalized chars to value | Read the first valid sequence of characters from the string, skipping leading whitespace, and convert it using from_chars: generalized chars to value |
| Format utilities | Provides generic and type-safe formatting/scanning utilities built on top of to_chars: generalized chars to value and from_chars: generalized chars to value, forwarding the arguments to these functions, which in turn use the Charconv utilities utilities |
| Format specifiers | Format specifiers are tag types and functions that are used together with to_chars: generalized chars to value and from_chars: generalized chars to value |
| boolean specifiers | |
| Integer specifiers | |
| Pad the number with zeroes on the left | |
| Check read for overflow | |
| Real specifiers | |
| Raw binary data | |
| Alignment specifiers | |
| cat: concatenate arguments to string | |
| uncat: read concatenated arguments from string | |
| catsep: cat arguments to string with separator | |
| uncatsep: deserialize the separated arguments from a string | |
| format: formatted string interpolation | |
| unformat: formatted read from string | |
| Base64 encoding/decoding | |
| UTF utilities |