|
cli11
|
Converts a human-readable size to a byte count. More...
Public Types | |
| using | result_t = std::uint64_t |
| The type sizes are produced in. | |
| Public Types inherited from cli::as_number_with_unit_t | |
| enum class | options_t : std::uint8_t { case_sensitive = 0 , case_insensitive = 1 , unit_optional = 0 , unit_required = 2 , default_mode = 1 } |
| Flags controlling how units are matched. More... | |
Public Member Functions | |
| as_size_value_t (bool kb_is_1000) | |
| Constructs the validator. | |
| Public Member Functions inherited from cli::as_number_with_unit_t | |
| template<typename number_t> | |
| as_number_with_unit_t (std::map< std::string, number_t > mapping, options_t opts=options_t::default_mode, const std::string &unit_name="UNIT") | |
| Constructs the validator from a unit mapping. | |
| Public Member Functions inherited from cli::validator_t | |
| validator_t (std::string validator_desc) | |
| Constructs a validator that only carries a description. | |
| validator_t (std::function< std::string(std::string &)> op, std::string validator_desc, std::string validator_name="") | |
| Constructs a named validator. | |
| auto | operation (std::function< std::string(std::string &)> op) -> validator_t & |
| Replaces the check. | |
| auto | operator() (std::string &str) const -> std::string |
Runs the check, possibly rewriting str. | |
| auto | operator() (const std::string &str) const -> std::string |
Runs the check against a copy, leaving str untouched. | |
| auto | description (std::string validator_desc) -> validator_t & |
| Sets the description in place. | |
| auto | description (std::string validator_desc) const -> validator_t |
| Returns a copy carrying a different description. | |
| auto | get_description () const -> std::string |
| Returns the description shown in help output. | |
| auto | name (std::string validator_name) -> validator_t & |
| Sets the name in place. | |
| auto | name (std::string validator_name) const -> validator_t |
| Returns a copy carrying a different name. | |
| auto | get_name () const -> const std::string & |
| Returns the validator's name. | |
| auto | active (bool active_val=true) -> validator_t & |
| Enables or disables the check in place. | |
| auto | active (bool active_val=true) const -> validator_t |
| Returns a copy that is enabled or disabled. | |
| auto | get_active () const -> bool |
| Reports whether the check runs. | |
| auto | non_modifying (bool no_modify=true) -> validator_t & |
| Forbids or permits the check to rewrite its argument. | |
| auto | get_modifying () const -> bool |
| Reports whether the check may rewrite its argument. | |
| auto | application_index (int app_index) -> validator_t & |
| Sets which value the check applies to, in place. | |
| auto | application_index (int app_index) const -> validator_t |
| Returns a copy applying to a different value. | |
| auto | get_application_index () const -> int |
| Returns which value the check applies to. | |
| auto | operator& (const validator_t &other) const -> validator_t |
| Combines two validators so that both must pass. | |
| auto | operator| (const validator_t &other) const -> validator_t |
| Combines two validators so that either may pass. | |
| auto | operator! () const -> validator_t |
| Inverts a validator, so that passing becomes failing. | |
Additional Inherited Members | |
| Protected Member Functions inherited from cli::validator_t | |
| validator_t (std::string validator_desc, std::function< std::string(std::string &)> func) | |
| Constructs a validator with a fixed description. | |
| Protected Attributes inherited from cli::validator_t | |
| std::function< std::string()> | desc_function_ {[] { return std::string {}; }} |
| Produces the description shown in help output. | |
| std::function< std::string(std::string &)> | func_ |
| The check itself. | |
| std::string | name_ {} |
| The validator's name, used to find and replace it on an option. | |
| int | application_index_ = -1 |
| Which value this applies to, or -1 for all of them. | |
| bool | active_ {true} |
| Whether the check runs at all. | |
| bool | non_modifying_ {false} |
| Whether the check is forbidden from rewriting its argument. | |
Converts a human-readable size to a byte count.
"100" gives 100, "10Kb" gives 10240, "2 MB" gives 2097152, and units are recognised up to exbibyte. The *i and *ib spellings always mean powers of 1024; whether the plain spellings do is chosen at construction.
|
explicit |
Constructs the validator.
| kb_is_1000 | When true, kb and k mean 1000 while kib and ki mean 1024, and likewise for the larger units. When false, every spelling means a power of 1024 — formally wrong, but the more common reading. See https://en.wikipedia.org/wiki/Binary_prefix. |