File: small_snippets.cpp

package info (click to toggle)
seqan3 3.0.2%2Bds-9
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 16,052 kB
  • sloc: cpp: 144,641; makefile: 1,288; ansic: 294; sh: 228; xml: 217; javascript: 50; python: 27; php: 25
file content (79 lines) | stat: -rw-r--r-- 2,057 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <seqan3/argument_parser/all.hpp>
#include <seqan3/std/filesystem>

//![validator_include]
#include <seqan3/argument_parser/validators.hpp>
//![validator_include]

struct cmd_arguments
{
    std::filesystem::path file_path{};
    std::vector<uint8_t> seasons{};
    std::string aggregate_by{"mean"};
    bool header_is_set{};
};

cmd_arguments args{};

int main(int argc, char ** argv)
{

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![add_positional_option]
size_t variable{};
parser.add_positional_option(variable, "This is a description.");
//![add_positional_option]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![add_option]
size_t variable{};
parser.add_option(variable, 'n', "my-number", "This is a description.");
//![add_option]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![add_flag]
bool variable{};
parser.add_flag(variable, 'f', "my_flag", "This is a description.");
//![add_flag]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![option_list]
std::vector<std::string> list_variable{};
parser.add_option(list_variable, 'n', "names", "Give me some names.");
//![option_list]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![positional_option_list]
std::string variable{};
std::vector<std::string> list_variable{};
parser.add_positional_option(variable, "Give me a single variable.");
parser.add_positional_option(list_variable, "Give me one or more variables!.");
//![positional_option_list]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![required_option]
std::string required_variable{};
parser.add_option(required_variable, 'n', "name", "I really need a name.", seqan3::option_spec::REQUIRED);
//![required_option]
}

{
seqan3::argument_parser parser{"Example-Parser", argc, argv};
//![input_file_validator]
parser.add_positional_option(args.file_path, "Please provide a tab separated data file.",
                             seqan3::input_file_validator{{"tsv"}});
//![input_file_validator]
}

}