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
* ENH: tests: replacing tabs with '\t'.
* NEW: tests: adding tests for `path`
Added the test that detects an error in the code.
Code fixing in the following commit.
* FIX: at_path: typo in `parse_path`
Fixing bug in the code. Also fixing `path - parsing` tests.
* NEW: readme: update list of contributors
* feat(path): added operator= for path_components to keep component type and value synchronized
* fix(path): added missing TOML_EXPORTED_MEMBER_FUNCTION directives
* refactor(path): changed constructors to preserve type - value correlation in path_component
* fix(path): added TOML_EXPORTED_CLASS for path_component
* fix(path): corrected placement of TOML_EXPORTED_CLASS for path_component. urgh.
* fix(path): tidied up some constructors/accessors in path_component
- 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)
- removed submodules in `external/`
- vendored `Catch2` and `nlohmann/json directly`
- updated conformance test generator to look outside the repo for test sources
Yeah so it turns out meson supports splitting compound boolean logic over multiple lines. Duh. Of course it does.
Also enabled ubsan for CI example builds.