Jason Rhinelander
ebd2142114
Don't use std::optional::value() because f u macos
...
This replaces all use of std::optional's `opt.value()` with `*opt`
because macOS is great and the ghost of Steve Jobs says that actually
supporting std::optional's value() method is not for chumps before macOS
10.14. So don't use it because Apple is great.
Pretty much all of our use of it actually is done better with operator*
anyway (since operator* doesn't do a check that the optional has a
value).
Also replaced *most* of the `has_value()` calls with direct bool
context, except for one in the config section which looked really
confusing at a glance without a has_value().
4 years ago
Stephen Shelton
bcf473757d
Fix broken config-related test cases
4 years ago
Jason Rhinelander
1697bf90fe
C++17
...
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
4 years ago
Stephen Shelton
5c6c7c7020
Expand on ConfigDefinition truthy/falsy unit test
4 years ago
Stephen Shelton
320564d792
Specialize ConfigOption for bool to accept "truthy" / "falsy" values
4 years ago
Stephen Shelton
936fbb2424
Fix config not falling back to undeclared handler for missing option
4 years ago
Stephen Shelton
0a9515a94a
Proper support for multiple values @ ConfigDefinition
5 years ago
Stephen Shelton
a8671cf9c7
Rename config classes for clarity
...
ConfigDefinition -> OptionDefiniton
Configuration -> ConfigDefinition
5 years ago
Stephen Shelton
9e850705b4
Add 'AssignmentAcceptor' convenience for simple config acceptors
5 years ago
Stephen Shelton
c5ff672c79
Use 'undeclared handler' for multi-valued 'add-node' config option
5 years ago
Stephen Shelton
9a1b7b20de
Add "undeclared value" handler to Configuration
5 years ago
Stephen Shelton
69331f1571
Remove multiValued as an argument to ConfigDefinition
5 years ago
Stephen Shelton
f6d000838f
Clarity and convenience for defining config options
5 years ago
Stephen Shelton
02e31f3867
Introduce acceptor function in ConfigDefinition
5 years ago
Stephen Shelton
60d0bf2a9b
Rename function for clarity
5 years ago
Stephen Shelton
8352de7bd4
Config documentation, clarity
5 years ago
Stephen Shelton
105dd30fd9
More ConfigDefinition unit tests, fixes, support std::string as type
5 years ago
Stephen Shelton
25212b929c
Add ConfigDefinition unit tests, fixes
5 years ago