std::strcpy(string, v.c_str());
return string;
}
-inline char** convert_to_c_impl(efl::eina::string_view* /*view*/, tag<char **, efl::eina::string_view*>)
+inline char** convert_to_c_impl(efl::eina::string_view& /*view*/, tag<char **, efl::eina::string_view, true>)
+{
+ std::abort();
+}
+inline const char** convert_to_c_impl(efl::eina::string_view& /*view*/, tag<const char **, efl::eina::string_view, true>)
{
std::abort();
}
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
return replace_base_type(r, " ::efl::eina::string_view");
}}
+ , {"mstring", false, nullptr, nullptr, [&]
+ {
+ regular_type_def r = regular;
+ r.base_qualifier.qualifier |= qualifier_info::is_ref;
+ // r.base_qualifier.qualifier ^= qualifier_info::is_const;
+ if(is_out || is_return)
+ return replace_base_type(r, " ::std::string");
+ return replace_base_type(r, " ::efl::eina::string_view");
+ }}
+ , {"mstring", true, nullptr, nullptr, [&]
+ {
+ regular_type_def r = regular;
+ r.base_qualifier.qualifier ^= qualifier_info::is_ref;
+ // r.base_qualifier.qualifier ^= qualifier_info::is_const;
+ if(is_out || is_return)
+ return replace_base_type(r, " ::std::string");
+ return replace_base_type(r, " ::efl::eina::string_view");
+ }}
, {"stringshare", nullptr, nullptr, nullptr, [&]
{
regular_type_def r = regular;
, {"any_value", false, nullptr, nullptr, [&]
{ return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier, {}};
}}
+ , {"any_value_ptr", true, nullptr, nullptr, [&]
+ {
+ return regular_type_def{" ::efl::eina::value", regular.base_qualifier ^ qualifier_info::is_ref, {}};
+ }}
+ , {"any_value_ptr", false, nullptr, nullptr, [&]
+ { return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier ^ qualifier_info::is_ref, {}};
+ }}
};
if(regular.base_type == "void_ptr")
{
eina_stringshare_del(v);
}
-void _name1_name2_type_generation_instringptrown(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, char * *v)
+void _name1_name2_type_generation_instringptrown(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, const char * *v)
{
ck_assert_str_eq(*v, "foobar");
free((void*)*v);
return p;
}
-char * * _name1_name2_type_generation_returnstringownptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED)
+const char * * _name1_name2_type_generation_returnstringownptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED)
{
const char foobar[] = "foobar";
char** p1 = malloc(sizeof(const char*));