From 2862cfcb86f857e4a75900974c3ee7c365edd6c0 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 8 Jul 2024 15:37:46 +0200 Subject: More cli fixing --- modules/tools/c++/cli_analyzer.hpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'modules/tools/c++/cli_analyzer.hpp') diff --git a/modules/tools/c++/cli_analyzer.hpp b/modules/tools/c++/cli_analyzer.hpp index d74001c..885181e 100644 --- a/modules/tools/c++/cli_analyzer.hpp +++ b/modules/tools/c++/cli_analyzer.hpp @@ -17,7 +17,7 @@ struct cli_mode { struct list {}; }; -template +template struct cli_traverser { template static error_or traverse(std::deque& sch_path, data& enc_data, std::string& json_data){ @@ -25,7 +25,7 @@ struct cli_traverser { } }; -template +template struct cli_modifier { codec json; static_assert( std::is_same_v, "Not supported" ); @@ -66,12 +66,12 @@ struct cli_modifier { } }; -template -struct cli_traverser { +template +struct cli_traverser { using Schema = schema::String; template - static error_or traverse(std::deque& sch_path, data& enc_data, std::string& json_data){ + static error_or traverse(std::deque& sch_path, data& enc_data, std::string& json_data){ if(not sch_path.empty()){ return make_error("Schema path too long"); } @@ -88,8 +88,8 @@ struct cli_traverser { }; -template -struct cli_traverser, Encoding> { +template +struct cli_traverser, Encoding, Storage> { using Schema = schema::Tuple; template @@ -99,7 +99,7 @@ struct cli_traverser, Encoding> { std::string num_str = std::to_string(i); if( num_str == sch_path.front() ){ sch_path.pop_front(); - return cli_traverser::template traverse(sch_path, enc_data.template get(), json_data); + return cli_traverser::template traverse(sch_path, enc_data.template get(), json_data); } if ( (i+1) < sizeof...(T)){ @@ -112,18 +112,18 @@ struct cli_traverser, Encoding> { /** * Traverse the path until we hit the end of the provided path */ -template -struct cli_traverser...>, Encoding> { +template +struct cli_traverser...>, Encoding, Storage> { using Schema = schema::Struct...>; template - static error_or traverse_member(std::deque& sch_path, data& enc_data, std::string& json_data){ + static error_or traverse_member(std::deque& sch_path, data& enc_data, std::string& json_data){ using Type = typename parameter_pack_type::type; constexpr string_literal Literal = parameter_key_pack_type::literal; if ( Literal.view() == sch_path.front() ){ sch_path.pop_front(); - return cli_traverser::template traverse(sch_path, enc_data.template get(), json_data); + return cli_traverser::template traverse(sch_path, enc_data.template get(), json_data); } if constexpr ( (i+1) < sizeof...(T) ) { @@ -133,7 +133,7 @@ struct cli_traverser...>, Encoding> { } template - static error_or traverse(std::deque& sch_path, data& enc_data, std::string& json_data){ + static error_or traverse(std::deque& sch_path, data& enc_data, std::string& json_data){ /** * If our path is empty, then we have reached the desired destination. */ @@ -141,7 +141,7 @@ struct cli_traverser...>, Encoding> { /** * Decide during this step if we are reading or not */ - cli_modifier mod; + cli_modifier mod; if constexpr (std::is_same_v){ return mod.read(sch_path, enc_data, json_data); } else if constexpr (std::is_same_v) { @@ -167,7 +167,7 @@ struct parsed_args { std::deque sch_path; }; -template +template error_or modify_data_on_cli(const std::string_view& mode, const std::string_view& file_path, std::deque sch_path, std::string& json_data){ /** * Read data from file @@ -184,7 +184,7 @@ error_or modify_data_on_cli(const std::string_view& mode, const std::strin if(file_data.empty()){ return make_error("File exists, but is empty."); } - data enc_data{std::string_view{file_data}}; + data enc_data{std::string_view{file_data}}; codec enc_codec; data native_data; -- cgit v1.2.3