Fixed
- Fix clang
-Wrange-loop-analysis
. (#98) (@jwillikers )- Avoid the unnecessary copy of strings.
- Fix clang
-Wundef
. (#99) (@jwillikers )- Check environment-specific macro definition before using it
- Use cache variables in CMakeLists (#101 ) (@jwillikers )
- Fix edge cases around TOML strings.
- Recently TOML spec clarified behaviors in some edge cases around strings.
- toml11 now works with all the following examples listed in the official spec.
- toml11 serializer output becomes cleaner in those edge-cases.
# The following examples are copied from the official TOML spec.
str4 = """Here are two quotation marks: "". Simple enough."""
# str5 = """Here are three quotation marks: """.""" # INVALID
str5 = """Here are three quotation marks: ""\"."""
str6 = """Here are fifteen quotation marks: ""\"""\"""\"""\"""\"."""
# "This," she said, "is just a pointless statement."
str7 = """"This," she said, "is just a pointless statement.""""
quot15 = '''Here are fifteen quotation marks: """""""""""""""'''
# apos15 = '''Here are fifteen apostrophes: '''''''''''''''''' # INVALID
apos15 = "Here are fifteen apostrophes: '''''''''''''''"
# 'That's still pointless', she said.
str = ''''That's still pointless', she said.'''