At the cost of exposing some existing detail, enable efficient unsharing of graph structure (DeepClone), and efficient ShallowClone. Modify[Key]Values allows in-place modification (or deletion) of node_data in a Map. (the Key is not modified but provided so the modification of the value may depend on the key) UnshareSubtrees for in-place DeepClone copying of shared subtrees. id and hash_value allow creating efficient input Node -> output Node transformations where the result of a previously transformed subtree may be reused (allowing linear time creation of output trees with shared subtrees instead of exponential by Rationale: although YAML::Node faithfully represents the input document and allows efficient traversal, using it as a large-scale configuration / AST means that it's easy to unintentionally create quadratic or worse algorithms modifying the tree. |
||
|---|---|---|
| .. | ||
| gtest-1.11.0 | ||
| integration | ||
| node | ||
| binary_test.cpp | ||
| BUILD.bazel | ||
| CMakeLists.txt | ||
| create-emitter-tests.py | ||
| handler_test.h | ||
| main.cpp | ||
| mock_event_handler.h | ||
| ostream_wrapper_test.cpp | ||
| parser_test.cpp | ||
| regex_test.cpp | ||
| specexamples.h | ||