5export module zxfoundation.base.cmdline.core;
6import zxfoundation.base.types;
11namespace zxfoundation::base::cmdline {
13 constexpr usize MAX_PARAMS = 64;
16 enum class value_type : u8 {
27 using handler_fn =
auto (*)(std::string_view value)
noexcept ->
bool;
31 std::string_view name{};
33 handler_fn handler{
nullptr};
34 void* storage{
nullptr};
35 usize storage_size{0};
36 std::string_view help{};
41 [[nodiscard]]
auto find(std::string_view name)
noexcept -> param*;
45 auto add(
const param& p)
noexcept ->
bool;
48 auto parse(std::string_view cmdline)
noexcept ->
void;