Creating a symlink in source to the dyaml directory does not actually
result in a symlink when another package grabs d-yaml as a dependency
via dub, and even if it did, it wouldn't work on Windows. So, this moves
the source into source so that it'll actually work, and cdc.d has been
adjusted accordingly so that building with it should still work.
There are some hacks to allow toHash() methods
to be const nothrow @safe, these are due to
Phobos problems (e.g. Variant.toHash() is not const nor nothrow).
Node opEquals(), opIndex(), opIndexAssign(), remove(), removeAt()
no longer automatically convert to string. This was changed
to prevent the API from getting too non-obvious, and to
remove the need for too many special cases in the code.
The API documentation was changed accordingly.
opApply() still automatically converts to string.
Added a contains() method to Node.
Clarified YAML null values in the documentation.
Improved unittests.
Fixed a bug that caused opIndex() and opIndexAssign() to only
work with exactly the same type as stored in the node
(e.g. real, but not double, for floating-point values)
Fixed some potential bugs.
Minor documentation fixes.
to be used for unordered map storage. This is because AAs still
don't work correctly and even if they did, require the user to
define both toHash and opCmp/opEquals for every YAML
struct/class. Now only opCmp needs to be defined.
Documentation/tutorials/examples have been updated accordingly.
slowdown and a slight memory usage increase. Fixed a potential
bug in Reader. Tag is now implemented as a zero-terminated
string, removing the need for global state.
Node opIndex now returns a reference.
Removed unnecessary calls to Stream.available(),
again for grat speed gain. Also various small optimizations.
Overall, improved loading speed about 400%.
Removed endMark from Node to keep it in 32 bytes on 64bit.
This will result in slightly worse debugging messages, but we
still have the start position of a node.
Tag is needed for better compliance with the spec and emitting
support for multiple tags with the same D data type.