From 8ecfef96af8b4eb80f4620293e8c39af231399ac Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Thu, 1 Aug 2024 13:12:08 +0200 Subject: wip --- modules/codec/examples/arg_parser.cpp | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 modules/codec/examples/arg_parser.cpp (limited to 'modules/codec/examples/arg_parser.cpp') diff --git a/modules/codec/examples/arg_parser.cpp b/modules/codec/examples/arg_parser.cpp new file mode 100644 index 0000000..569c464 --- /dev/null +++ b/modules/codec/examples/arg_parser.cpp @@ -0,0 +1,67 @@ +#include "../c++/args.hpp" + +#include + +namespace sch { +using namespace saw::schema; + +using ExArgStruct = Struct< + Member, + Member +>; + +using ExArgs = Args< + ExArgStruct, + Tuple<> +>; +} + +int main(int argc, char** argv){ + using namespace saw; + + data args_dat{argc, argv}; + codec args_codec; + + data nat_dat; + + auto eov = args_codec.decode(args_dat, nat_dat); + if(eov.is_error()){ + auto& err = eov.get_error(); + std::cerr<<"\n[Error] "<(); + for(uint64_t i = 0; i < prog.size(); ++i){ + std::cout<(); + { + std::cout<<"File: "; + auto& file_val = str_val.template get<"file">(); + for(uint64_t i = 0; i < file_val.size(); ++i){ + std::cout<(); + std::cout<(); + + std::cout<