From 2d6fe421413b117fb06faf7c2a26bf6318882f1f Mon Sep 17 00:00:00 2001 From: Pranav Srinivas Kumar Date: Sun, 31 Mar 2019 13:06:55 -0400 Subject: [PATCH] Update README.md --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 9d850c8..28ac092 100644 --- a/README.md +++ b/README.md @@ -145,3 +145,23 @@ auto b = program.get("-b"); // true auto c = program.get>("-c"); // {3.14f, 2.718f} auto files = program.get>("--files"); // {"a.txt", "b.txt", "c.txt"} ``` + +### Restricting the set of values for an argument + +```cpp +argparse::ArgumentParser program("test"); + +program.add_argument("input") + .default_value("baz") + .action([=](const std::string& value) { + static const std::vector choices = { "foo", "bar", "baz" }; + if (std::find(choices.begin(), choices.end(), value) != choices.end()) { + return value; + } + return std::string{ "baz" }; + }); + +program.parse_args({ "./test", "fez" }); + +auto input = program.get("input"); // baz +```