summaryrefslogtreecommitdiffstats
path: root/libraries/rapidyaml/README
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/rapidyaml/README')
-rw-r--r--libraries/rapidyaml/README33
1 files changed, 33 insertions, 0 deletions
diff --git a/libraries/rapidyaml/README b/libraries/rapidyaml/README
new file mode 100644
index 0000000000..16bf67689b
--- /dev/null
+++ b/libraries/rapidyaml/README
@@ -0,0 +1,33 @@
+Rapid YAML, or ryml for short. ryml is a C++ library to parse and emit
+YAML, and do it fast, on everything from x64 to bare-metal chips
+without operating system. (If you are looking to use your programs
+with a YAML tree as a configuration tree with override facilities,
+take a look at c4conf).
+
+ryml parses both read-only and in-situ source buffers; the resulting
+data nodes hold only views to sub-ranges of the source buffer. No
+string copies or duplications are done, and no virtual functions are
+used. The data tree is a flat index-based structure stored in a single
+array. Serialization happens only at your direct request, after
+parsing / before emitting. Internally, the data tree representation
+stores only string views and has no knowledge of types, but of course,
+every node can have a YAML type tag. ryml makes it easy and fast to
+read and modify the data tree.
+
+ryml is available as a single header file, or it can be used as a
+simple library with cmake -- both separately (ie build->install->
+find_package()) or together with your project (ie with
+add_subdirectory()).
+
+ryml can use custom global and per-tree memory allocators and error
+handler callbacks, and is exception-agnostic. ryml provides a default
+implementation for the allocator (using std::malloc()) and error
+handlers (using using std::abort() is provided, but you can opt out
+and provide your own memory allocation and eg, exception-throwing
+callbacks.
+
+ryml does not depend on the STL, ie, it does not use any std
+container as part of its data structures), but it can serialize and
+deserialize these containers into the data tree, with the use of
+optional headers. ryml ships with c4core a small C++ utilities
+multiplatform library.