ToruNiina
003bc16c1b
fix: skip the last zero in the file
2020-09-14 16:35:51 +09:00
ToruNiina
3c3ebd88b4
feat: improve error message about invalid keys
2020-08-09 18:38:50 +09:00
ToruNiina
4fa94d45b3
fix: use const char* instead of &char[N]
...
to enable to pass char*, not only string literal
2020-08-04 20:08:58 +09:00
ToruNiina
68e8a31659
refactor: remove needless addressof() call
2020-07-27 23:00:40 +09:00
ToruNiina
32a5341d09
refactor: use source_location, not region_base*
2020-07-27 22:29:18 +09:00
ToruNiina
ce68f6f4c2
refactor: check (always-valid) ptr before deref
2020-07-27 21:32:35 +09:00
ToruNiina
e696aabd11
refactor: change internal interface to reduce code
...
to remove `std::addressof` calls, get_region(toml::value) now
returns a pointer to region.
2020-07-27 00:48:04 +09:00
ToruNiina
19cc9a2edf
refactor: remove template from detail::region
2020-07-25 22:01:34 +09:00
ToruNiina
72f5afb6af
refactor: remove template from detail::location
2020-07-25 21:06:26 +09:00
ToruNiina
a8fa14d159
refactor: remove vec() method, use a constructor
2020-07-21 20:55:18 +09:00
ToruNiina
259da54edb
refactor: always use vector<char> in location
...
`location` and `region` have a (shared_ptr to the) container of TOML
contents. Those take a template argument to allow both std::vector<char>
and std::string as an interanal container. But since those are internal
feature, i.e. it should not be used by a user directly, this template
can be removed by re-writing a parser a bit. This introduces a
complexity to toml11 error reporting system, so I'm removing this.
First, remove all the location<std::string> from the parser. Then the
template argument can be removed because everyone uses std::vector<char>
now.
2020-07-20 19:52:11 +09:00
ToruNiina
4e0624aa60
feat: make sure the last null is removed
2020-07-19 16:56:31 +09:00
ToruNiina
e6e84714c5
Merge branch 'master' into reorder-headers
2020-07-10 00:06:22 +09:00
ToruNiina
b1c9df8998
feat: reorder headers following google c++ style
...
related to: #115
2020-06-28 00:58:20 +09:00
ToruNiina
57c6652360
Merge branch 'master' into std-filesystem
2020-06-06 17:25:26 +09:00
ToruNiina
defde33544
fix: avoid ambiguity in overload resolution
...
Since both `std::string` and `std::filesystem::path` can be convertible
from `const char &[N]` (like, `parse("file.toml")`), after adding
`parse(std::filesystem::path)`, the overload resolution of
`parse("file.toml")` becomes ambiguous. By adding `parse(...)` that
exactly matches to `parse("file.toml")`, we can remove this ambiguity.
2020-06-06 17:18:02 +09:00
ToruNiina
46ed051740
fix: pass path.string as a filename
2020-06-05 23:15:19 +09:00
ToruNiina
2963d9a25b
feat: add std::filesystem::path support
2020-06-05 19:43:23 +09:00
Scott McCaskill
57d4e196a3
when parsing a local_time, parse up to 9 digits worth (nanoseconds) of fractional seconds
2020-05-10 16:06:52 -05:00
ToruNiina
125f608fa5
feat: remove TOML11_UNRELEASED_FEATURES.
...
v1.0.0-rc.1 has been released
2020-04-03 23:42:58 +09:00
ToruNiina
0582e1535b
fix: handle edge-cases with quotes in ml-string
...
See comments in the code for detail.
2020-02-04 22:36:39 +09:00
ToruNiina
9bef715ccd
fix: use u32 as a result of binary operation
2020-01-13 11:26:53 +09:00
ToruNiina
d2b1cf5123
refactor: just use a constructor
...
to remove conversions
2020-01-13 11:26:29 +09:00
ToruNiina
18f84088b4
perf: avoid tmp str construction while checking
2019-12-19 22:13:47 +09:00
ToruNiina
5b35c1a74e
fix: prohibit modification on inline table
...
According to toml-lang/toml:36d3091b3 "Clarify that inline tables are
immutable", check if it adds key-value pair to an inline table.
This is one of the unreleased (after-0.5.0) toml feature. But this is
marked as "Clarify", so TOML-lang intended that inline tables are
immutable in all version.
2019-12-19 22:02:17 +09:00
ToruNiina
6f7539dc6a
fix: deduplicate [error] prefix in the messages
2019-11-14 15:31:27 +09:00
ToruNiina
af116991b6
fix: remove overlapping [error] sign
2019-11-13 17:35:23 +09:00
ToruNiina
9af2d65417
feat: allow heterogenous array
...
if TOML11_USE_UNRELEASED_TOML_FEATURES is activated.
In TOML v0.5.0, heterogenous arrays are not allowed. But after some
discussions in toml-lang/toml, it is decided to allow it in the next
release (toml-lang/toml/pull/676).
To support it, disable type check in parse_array function.
2019-11-08 15:36:58 +09:00
ToruNiina
8240fffeca
Merge branch 'master' into add-src-loc-to-exception
2019-11-02 12:53:16 +09:00
ToruNiina
047611764c
fix: silly typo
2019-11-01 21:15:20 +09:00
ToruNiina
bc3eb9d967
feat: add src_loc to all the exceptions
...
including internal_error.
2019-11-01 21:14:33 +09:00
ToruNiina
6862264bde
feat: use the first char as the top-level region
...
A bit related to #89
2019-11-01 20:47:25 +09:00
ToruNiina
2ee69fc420
fix: improve error messages about strings a bit
2019-11-01 13:34:15 +09:00
ToruNiina
6a15e8360f
refactor: remove redundant namespace specifier
2019-10-31 23:13:49 +09:00
ToruNiina
41eb1d6887
feat: pass source_location to exception
2019-10-31 22:23:31 +09:00
ToruNiina
f98615d0df
fix: check file content is empty or not
2019-10-30 16:49:49 +09:00
ToruNiina
37769e28f0
fix #88 : check if input is null-terminated or not
2019-10-30 16:33:22 +09:00
ToruNiina
d7b4d104d3
refactor: reduce checking; just check once
2019-10-08 23:15:03 +09:00
ToruNiina
7a1b5bd64e
fix: skip whitespaces without newline
2019-08-26 18:16:09 +09:00
ToruNiina
cffc605505
fix: stop including iostream
2019-07-23 22:27:20 +09:00
ToruNiina
76e44a0c48
refactor: remove needless inline specifier
2019-06-26 21:34:36 +09:00
ToruNiina
be04bf1302
refactor: convert file size to size_t
2019-06-20 23:58:35 +09:00
ToruNiina
71ff54e76c
fix: rearrange internal int types in datetimes
2019-06-20 23:58:08 +09:00
ToruNiina
f689d26294
refactor: add conversion function to utf8 encoder
2019-06-20 22:25:40 +09:00
ToruNiina
7e5859ba73
Merge branch 'master' into v3
2019-06-19 15:36:27 +09:00
ToruNiina
dee32e7d5e
style: make hint messages clearer
2019-06-19 12:58:34 +09:00
ToruNiina
ca084abe90
feat: consider the first comments as a file comment
2019-06-18 00:44:49 +09:00
ToruNiina
cf1c9371b6
fix: correct example and positions in err msgs
2019-06-16 17:52:42 +09:00
ToruNiina
62e8d58d8d
feat: guess possible format errors
2019-06-16 17:32:29 +09:00
ToruNiina
a6706f7879
fix: templatize internal function for value
2019-06-15 17:12:30 +09:00