CLI

Undocumented in source.
  1. template CLI(Config config, COMMANDS...)
  2. template CLI(Config config, COMMAND)
  3. alias CLI(COMMANDS...) = CLI!(Config.init, COMMANDS)
    alias CLI(COMMANDS...) = CLI!(Config.init, COMMANDS)

Examples

///////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////

struct T
{
    @(NamedArgument.NumberOfValues(1,3))
    int[] a;
    @(NamedArgument.NumberOfValues(2))
    int[] b;
}

assert(CLI!T.parseArgs!((T t) { assert(t == T([1,2,3],[4,5])); return 12345; })(["-a","1","2","3","-b","4","5"]) == 12345);
assert(CLI!T.parseArgs!((T t) { assert(t == T([1],[4,5])); return 12345; })(["-a","1","-b","4","5"]) == 12345);

Meta