ToruNiina
dde351ea40
feat: add escape sequence of ESC
...
as an unreleased feature
2022-03-16 22:39:52 +09:00
ToruNiina
97cc0ef62b
fix #166 : reorder local/gmtime wrapper for MSVC
2022-03-13 00:20:00 +09:00
ToruNiina
0e80cabe65
Merge branch 'check-specialized-conversion'
2022-03-12 19:00:29 +09:00
ToruNiina
e60442c6db
fix: check if re-open dotkey by a table
...
like:
```
a.b.c = "foo"
[a.b] # this is invalid
d = "bar"
```
2022-03-12 18:22:01 +09:00
ToruNiina
03259e2003
fix #177 : check specific conversion function
...
when converting toml::value to array-like
2021-12-25 14:08:55 +09:00
ToruNiina
7354e91924
fix: Allow MSVC to have old version
2021-12-18 00:36:20 +09:00
ToruNiina
4522070391
ci: check if MSVC 14 2015 (19.0.24241.7) (1900)
...
passes ci build if we skip _MSVC_LANG
2021-12-18 00:21:55 +09:00
ToruNiina
02fd8a577b
feat: workaround __cplusplus problem on MSVC
2021-12-17 22:29:57 +09:00
ToruNiina
cc1cc27613
fix: disallow merging dotted key and inline table
...
current code mistakenly allows the following TOML file.
```toml
a.b = 42 # table "a" is defined here, implicitly
a = {c = 3.14} # table "a" is overwritten here
```
But we need to allow the following (structually similar) TOML file.
```toml
a.b = 42 # table "a" is defined here, implicitly
a.c = 3.14 # table "a" is merged with {c = 3.14}
```
To distinguish those, we check whether the current table is defined as
an inline table or via dotted key. If the table we are inserting is
defined via dotted key, we accept it and merge the table. If the table
being inserted is defined as an inline table, then we report an error.
2021-12-16 01:11:47 +09:00
ToruNiina
75e297eb47
fix: Merge branch 'check-datetime'
...
Briefly check if a given date and time is valid
2021-12-15 22:35:56 +09:00
ToruNiina
518e6d4ae2
feat: check date and time are valid or not
2021-12-15 00:31:41 +09:00
ToruNiina
db2aa55d20
fix: disallow null char at the end of input
...
since std::string and ""_toml literal actually does not include null
char, we don't need to check if the last char is null or not
2021-12-14 22:33:58 +09:00
ToruNiina
2e4c7fb95e
fix: line-feed is not required at the EOF
2021-12-10 23:39:54 +09:00
Louis R. Marascio
21732fce45
Resolve g++ warning: free-nonheap-object
...
As described in issue #173 , this warning is raised on various platforms
and in various build types. For example, g++ 11 in release mode will
cause this warning to be raised. This change fixes this warning.
2021-12-01 14:43:43 -06:00
Philip Top
9c1708c988
Update toml/traits.hpp
...
Co-authored-by: Toru Niina <niina.toru.68u@gmail.com>
2021-11-24 06:40:09 -08:00
Philip Top
eef7106fbe
fix more warnings
2021-11-19 10:22:37 -08:00
Philip Top
99e483c447
[ci skip] use a policy in the CMakeLists.txt for toml11 fix some more string_view errors
2021-11-19 08:41:00 -08:00
Philip Top
26a066ad07
skip ci
...
ci skip
update another string_view issue
2021-11-19 08:39:00 -08:00
Philip Top
acad8b1a61
add additional check for invocability
2021-11-19 08:37:02 -08:00
Philip Top
605cd8ef4a
fix shadow and some undef warnings
2021-11-19 08:37:01 -08:00
ToruNiina
bcee9f25a2
fix: check if subtable key conflicts
2021-10-10 20:58:28 +09:00
estshorter
dced71224d
fix a compile warning C26478
2021-10-09 11:12:58 +09:00
ohdarling
e434c96b7f
fix: serializer has wrong constructor params order when format root object
2021-09-22 11:38:42 +08:00
Karl Nilsson
3eee515ce1
Spelling fixes
2021-08-27 19:52:45 -04:00
ToruNiina
ca9e36a484
fix: avoid duplicated-branches in result
...
when both two types are trivially destructible, both branches of cleanup
function results in the same code...
2021-07-01 00:46:56 +09:00
ToruNiina
0858fbfced
fix: avoid max
macro expansion on Windows
...
in numeric_limits<T>::max
2021-06-30 01:43:27 +09:00
ToruNiina
0aa3773860
feat: add bare minimum utf8 seq validity check
2021-06-30 00:58:50 +09:00
ToruNiina
c72b27bb4b
fix: escape control characters in a string
2021-06-27 18:57:20 +09:00
ToruNiina
be5ffaf662
feat: check if width == max before using ml-string
2021-06-27 18:56:57 +09:00
ToruNiina
47a2a3332b
fix: use empty quoted string for empty key
2021-06-27 18:56:33 +09:00
ToruNiina
9d28afa012
fix: fix serialization of inf/nan
2021-06-27 18:56:05 +09:00
ToruNiina
f09bd5b035
feat: easy check for datetime
2021-06-27 18:54:55 +09:00
ToruNiina
0dc51f95d9
fix: disallow trailing comma in an inline table
2021-06-27 18:54:28 +09:00
ToruNiina
cf9e86a84f
fix: disallow control characters
...
in basic/literal string and comment
2021-06-27 18:53:48 +09:00
ToruNiina
45bd566f7a
fix: serialization of array containing a table
...
table in a (hetero-) array should be force-inlined
2021-06-27 16:28:41 +09:00
ToruNiina
1b7ca8566b
fix: out_of_range with malformed toml file #164
2021-06-27 15:58:40 +09:00
Toru Niina
c281539b26
Merge pull request #161 from cubiest/bugfix/empty_files_missing_filename_in_error
...
Preserve empty location for empty files
2021-05-26 12:28:38 +09:00
Oliver Kahrmann
58542d36be
Preserve empty location for empty files
...
Without a region, error messages in exceptions are unable to print
a filename.
By retaining the location in a zero-length region and detecting this
when formatting the exception text it is possible to print the filename
and explicitly state that the file is completely empty.
Fixes #160
2021-05-25 20:52:33 +02:00
ToruNiina
c38079f7c0
fix: remove needless include file
...
that might cause compilation error
2021-05-25 21:40:41 +09:00
ToruNiina
891f68eab0
feat: support all &/const&/&& variants
2021-05-15 20:41:11 +09:00
ToruNiina
4b1df61142
Merge branch 'master' into recursive-find-or
2021-05-15 20:01:30 +09:00
ToruNiina
0ac3919e08
feat: from<T> and from_toml precede constructor
...
constructor sometimes has `template<T> ctor(const T&)` and it causes
ambiguity. To avoid it, from<T> and T.from_toml precedes any
constructor. But, to check the ambiguity between from<T> and from_toml,
they do not precede each other. If anyone define both from<T> and
from_toml, it causes compilation error.
2021-05-14 16:05:54 +09:00
ToruNiina
e622595426
fix: fix has_specialized_from/into
...
to avoid ambiguity
2021-05-14 16:01:43 +09:00
ToruNiina
72ee8caf09
refactor: use has_specialized_from<T>
...
to check if toml::from<T> exists for a specific T
2021-05-14 15:53:34 +09:00
ToruNiina
b6e2c6e235
feat: add detail::has_specialization_from/into
2021-05-14 15:46:00 +09:00
ToruNiina
7e90282175
fix: add region where -Wshadow is ignored on GCC 4
2021-05-10 23:00:30 +09:00
ToruNiina
b8291af42b
fix: rename func args to avoid -Wshadow in GCC 4.x
2021-05-10 22:56:16 +09:00
ToruNiina
cd60045014
fix: gcc 7 introduces wshadow variants
2021-05-10 21:51:51 +09:00
ToruNiina
4acc563b28
feat: explicitly avoid -Wshadow=global in GCC
2021-05-10 20:49:20 +09:00
ToruNiina
dce50142e6
fix: avoid argname key
to supress warning
...
about shadowing
2021-05-10 20:47:08 +09:00