Zach Laine
cf9545fa7c
Remove mooted TODOs.
2024-01-12 22:35:04 -06:00
Zach Laine
3e7812ebe5
Simplify detail::is_variant and remove enable_variant. Turns out
...
detail::is_variant_v is not actually used, except in one place in the printing
code, and it's not even essential there.
2024-01-12 21:45:39 -06:00
Zach Laine
69e4f47bff
Work around the busted-ass static_asserting op<< in boost::optional by
...
recognizing all enabled optionals, and printing them the same as we do
std::optional. Applied the same logic to variants too, for consistency.
2024-01-12 21:45:39 -06:00
Zach Laine
03c7cc6bbb
Fix broken enable_variant decls in tuple_aggregate test.
2024-01-12 21:45:39 -06:00
Zach Laine
7b0327f167
Guard the operator<< defined in tuple_aggregate with TEST_BOOST_OPTIONAL.
2024-01-07 21:14:54 -06:00
Zach Laine
cd284572c9
Add support for parsing into attributes whose types are optionals or variants
...
other than the ones from std:: (e.g. boost::optional, boost::variant, and
boost::variant2::variant).
Fixes #53 .
2024-01-07 20:44:34 -06:00
Zach Laine
f34f096c66
Add logic to repeat_parser analogous to the logic in seq_parser, to enable
...
implicit tuple <-> struct conversions.
Fixes #47 .
2024-01-04 18:38:44 -06:00
Zach Laine
d60d33e40b
Finish implementing support for parsing into structs as if they were tuples.
...
This makes it possible to map from sequence parsers onto structs with no
semantic actions. Also, add a doc section describing how parsing structs
works (including a couple of short example programs).
Fixes #45 .
Partially addresses #28 .
2024-01-03 23:24:37 -06:00