diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-07-09 14:10:28 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-07-09 14:10:28 +0200 |
commit | 8b37098a15005d4163db74d7eac977c593268118 (patch) | |
tree | 93568fa44ffb26759c449387d1183c6e6081a984 /modules/tools | |
parent | 2862cfcb86f857e4a75900974c3ee7c365edd6c0 (diff) |
Preparing reverting Storage
Diffstat (limited to 'modules/tools')
-rw-r--r-- | modules/tools/c++/c_gen_iface.hpp | 8 | ||||
-rw-r--r-- | modules/tools/c++/cli_analyzer.hpp | 40 |
2 files changed, 24 insertions, 24 deletions
diff --git a/modules/tools/c++/c_gen_iface.hpp b/modules/tools/c++/c_gen_iface.hpp index 7dffd04..60389dc 100644 --- a/modules/tools/c++/c_gen_iface.hpp +++ b/modules/tools/c++/c_gen_iface.hpp @@ -391,7 +391,7 @@ struct lang_bind<schema::Primitive<T,L>, binding::SyncC> { { std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t"; - auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str)); + auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str})); if(emp.second) { /** * We want this id to access the vector @@ -557,7 +557,7 @@ struct lang_bind<schema::Struct<schema::Member<V,K>...>, binding::SyncC> { constexpr uint64_t hash = schema_hash<Schema>::apply(); std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t"; - auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str)); + auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str})); /** * If successful insertion did happen that means we have no struct def yet. @@ -646,7 +646,7 @@ struct lang_bind<schema::Array<T,D>, binding::SyncC> { constexpr uint32_t hash = schema_hash<Schema>::apply(); std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t"; - auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str)); + auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str})); if(emp.second){ auto& tpe = state.tp_elements; @@ -1127,7 +1127,7 @@ struct lang_bind<schema::Interface<M...>, binding::SyncC> { constexpr uint64_t hash = schema_hash<Member>::apply(); std::string hash_type_str = cfg.prefix + "_" + std::to_string(hash) + "_t"; - auto emp = state.hashes.emplace(std::make_pair(hash, hash_type_str)); + auto emp = state.hashes.emplace(std::make_pair(hash, language_binding_state::info{hash_type_str})); if(!emp.second){ return make_error<err::invalid_state>("Function should be guaranteed to be unique"); } diff --git a/modules/tools/c++/cli_analyzer.hpp b/modules/tools/c++/cli_analyzer.hpp index 885181e..ed54afa 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<typename Schema, typename Encoding, typename Storage> +template<typename Schema, typename Encoding> struct cli_traverser { template<typename Traversal> static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){ @@ -25,10 +25,10 @@ struct cli_traverser { } }; -template<typename Schema, typename Encoding, typename Storage> +template<typename Schema, typename Encoding> struct cli_modifier { codec<Schema, encode::Json> json; - static_assert( std::is_same_v<Encoding, encode::Native, storage::Default>, "Not supported" ); + static_assert( std::is_same_v<Encoding, encode::Native>, "Not supported" ); error_or<void> read( std::deque<std::string>& sch_path, @@ -66,12 +66,12 @@ struct cli_modifier { } }; -template<typename Encoding, typename Storage> -struct cli_traverser<schema::String, Encoding, Storage> { +template<typename Encoding> +struct cli_traverser<schema::String, Encoding> { using Schema = schema::String; template<typename Traversal> - static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding,Storage>& enc_data, std::string& json_data){ + static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){ if(not sch_path.empty()){ return make_error<err::invalid_state>("Schema path too long"); } @@ -88,8 +88,8 @@ struct cli_traverser<schema::String, Encoding, Storage> { }; -template<typename... T, typename Encoding, typename Storage> -struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> { +template<typename... T, typename Encoding> +struct cli_traverser<schema::Tuple<T...>, Encoding> { using Schema = schema::Tuple<T...>; template<typename Traversal, size_t i> @@ -99,7 +99,7 @@ struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> { std::string num_str = std::to_string(i); if( num_str == sch_path.front() ){ sch_path.pop_front(); - return cli_traverser<Type, Encoding, Storage>::template traverse<Traversal>(sch_path, enc_data.template get<i>(), json_data); + return cli_traverser<Type, Encoding>::template traverse<Traversal>(sch_path, enc_data.template get<i>(), json_data); } if ( (i+1) < sizeof...(T)){ @@ -112,18 +112,18 @@ struct cli_traverser<schema::Tuple<T...>, Encoding, Storage> { /** * Traverse the path until we hit the end of the provided path */ -template<typename... T, string_literal... Lits, typename Encoding, typename Storage> -struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storage> { +template<typename... T, string_literal... Lits, typename Encoding> +struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding> { using Schema = schema::Struct<schema::Member<T,Lits>...>; template<typename Traversal, size_t i> - static error_or<void> traverse_member(std::deque<std::string>& sch_path, data<Schema,Encoding, Storage>& enc_data, std::string& json_data){ + static error_or<void> traverse_member(std::deque<std::string>& sch_path, data<Schema,Encoding>& enc_data, std::string& json_data){ using Type = typename parameter_pack_type<i,T...>::type; constexpr string_literal Literal = parameter_key_pack_type<i, Lits...>::literal; if ( Literal.view() == sch_path.front() ){ sch_path.pop_front(); - return cli_traverser<Type, Encoding, Storage>::template traverse<Traversal>(sch_path, enc_data.template get<Literal>(), json_data); + return cli_traverser<Type, Encoding>::template traverse<Traversal>(sch_path, enc_data.template get<Literal>(), json_data); } if constexpr ( (i+1) < sizeof...(T) ) { @@ -133,7 +133,7 @@ struct cli_traverser<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storag } template<typename Traversal> - static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding, Storage>& enc_data, std::string& json_data){ + static error_or<void> traverse(std::deque<std::string>& sch_path, data<Schema,Encoding>& 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<schema::Struct<schema::Member<T,Lits>...>, Encoding, Storag /** * Decide during this step if we are reading or not */ - cli_modifier<Schema, Encoding, Storage> mod; + cli_modifier<Schema, Encoding> mod; if constexpr (std::is_same_v<Traversal, cli_mode::read>){ return mod.read(sch_path, enc_data, json_data); } else if constexpr (std::is_same_v<Traversal, cli_mode::write>) { @@ -167,7 +167,7 @@ struct parsed_args { std::deque<std::string> sch_path; }; -template<typename Schema, typename Encoding, typename Storage> +template<typename Schema, typename Encoding> error_or<void> modify_data_on_cli(const std::string_view& mode, const std::string_view& file_path, std::deque<std::string> sch_path, std::string& json_data){ /** * Read data from file @@ -184,7 +184,7 @@ error_or<void> modify_data_on_cli(const std::string_view& mode, const std::strin if(file_data.empty()){ return make_error<err::not_found>("File exists, but is empty."); } - data<Schema, Encoding, Storage> enc_data{std::string_view{file_data}}; + data<Schema, Encoding> enc_data{std::string_view{file_data}}; codec<Schema, Encoding> enc_codec; data<Schema> native_data; @@ -197,20 +197,20 @@ error_or<void> modify_data_on_cli(const std::string_view& mode, const std::strin if (mode == "r") { { - auto eov = impl::cli_traverser<Schema, encode::Native, storage::Default>::template traverse<impl::cli_mode::read>(sch_path, native_data, json_data); + auto eov = impl::cli_traverser<Schema, encode::Native>::template traverse<impl::cli_mode::read>(sch_path, native_data, json_data); if(eov.is_error()){ return eov; } } } else if (mode == "w") { { - auto eov = impl::cli_traverser<Schema, encode::Native, storage::Default>::template traverse<impl::cli_mode::write>(sch_path, native_data, json_data); + auto eov = impl::cli_traverser<Schema, encode::Native>::template traverse<impl::cli_mode::write>(sch_path, native_data, json_data); if(eov.is_error()){ return eov; } } { - auto eov = enc_codec.template encode<encode::Native, storage::Default>(native_data, enc_data); + auto eov = enc_codec.template encode<encode::Native>(native_data, enc_data); if(eov.is_error()){ return eov; } |