25 [[nodiscard]]
auto make_usage(
const std::string& help)
const -> std::string;
27 std::string m_program_name;
29 std::vector<std::string_view> m_args;
30 std::vector<std::shared_ptr<Option>> m_options;
31 std::vector<Position> m_positions;
34 Parser(
int argc,
const char*
const argv[]);
35 void add_option(
const std::string& flags,
const std::string& description,
Action action,
const std::string& output);
36 void add_option(
const std::string& flags,
const std::string& description,
bool& found);
39 void add_option(
const std::string& flags,
const std::string& description, T& value);
41 void add_position(
const std::string& name,
const std::string& description);
44 [[nodiscard]]
auto get_position(
size_t index)
const -> std::string_view;
45 [[nodiscard]]
auto args()
const -> std::vector<std::string_view>;
52 flags, description, [&value](std::string_view s) { std::istringstream(std::string(s)) >> value; }));