Skip to content

Commit 03ab728

Browse files
Add argument parsing in argparse.cpp
Implement argument parsing for command line inputs.
1 parent 3c111ac commit 03ab728

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

argparse/argparse.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#include "argparse.hpp"
2+
#include <iostream>
3+
#include <stdexcept>
4+
5+
namespace next {
6+
7+
Arguments parse_arguments(int argc, char** argv)
8+
{
9+
if (argc != 5) {
10+
std::cerr << "Usage: next <initial.txt> <dt> <dump_interval> <vtk|vtu>\n";
11+
std::exit(1);
12+
}
13+
14+
Arguments args;
15+
args.input_file = argv[1];
16+
args.dt = std::stod(argv[2]);
17+
args.dump_interval = std::stod(argv[3]);
18+
19+
std::string fmt = argv[4];
20+
if (fmt == "vtu") args.use_vtu = true;
21+
else if (fmt == "vtk") args.use_vtu = false;
22+
else {
23+
std::cerr << "Format must be 'vtk' or 'vtu'\n";
24+
std::exit(1);
25+
}
26+
27+
return args;
28+
}
29+
30+
}

0 commit comments

Comments
 (0)