This small patch fixes some minor Markdown issues in the README and
CONTRIBUTING files:
- Add a blank line before and after block elements like lists and code
blocks. This specified in the [original Markdown syntax] document,
and can also create some issues with some parsers (see [MD32]).
- Add a blank line around headings, for the same reasons as above.
- Only use one top-level (H1) heading per document.
- Always specify a language in fenced code blocks, so that plugins like
highlight.js can correctly highlight them
- Remove unused links from the bottom of README.md.
[original Markdown syntax]: https://daringfireball.net/projects/markdown/syntax
[MD32]: https://github.com/DavidAnson/markdownlint/blob/v0.26.2/doc/Rules.md#md032
- re-ordered most of the `.inl` implementations to match the declaration order in the class body
- fixed a few missing cases of `noexcept`
- added additional operator overloads for +=
- added `operator==` and `operator!=` to `path_component`
- changed parse method to "parse into" so it could be re-used in more places without creating a temporary vector
- changed all binary operators to be 'hidden friends'
- moved the "to string" logic to a "print_to" for streams to avoid creating a temporary string in the ostream<< operator
- made the string conversion operators `explicit`
- renamed `string()` to `str()` to be consistent with `toml::key` and `std::stringstream`
- renamed `wstring()` to `wide_str()` to be consistent with `toml::source_region`
- renamed `parent_path()` to `parent()`
- removed the `const (w)char*` operator overloads - these were already sufficiently covered by the `std::(w)string_view` ones
- removed the `operator/` overloads - since we aren't a file path the `/` doesn't have the same meaning (also `operator+` was doing the same thing)
also:
- fixed extended-precision fractional times causing parse error instead of truncating per the spec (closes#127)
- fixed some non-spec vertical whitespace being accepted as line breaks (closes#128)
- added `format_flags::allow_unicode_strings`
also:
- added `date_time` converting constructors from `date` and `time`
- added `is_key<>` and is_key_or_convertible<>` metafunctions
- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios
- added encoder and decoder for `toml-test` (closes#125)