namespace elm { namespace hoversel { 
inline ::efl::eolian::return_traits<void>::type Item::icon_get( ::efl::eolian::out_traits< ::efl::eina::string_view>::type icon_file,  ::efl::eolian::out_traits< ::efl::eina::string_view>::type icon_group,  ::efl::eolian::out_traits<Elm_Icon_Type>::type icon_type) const
{
   const char * __out_param_icon_file = {};
   const char * __out_param_icon_group = {};
   Elm_Icon_Type __out_param_icon_type = {};
    ::elm_obj_hoversel_item_icon_get(this->_eo_ptr()
      , & __out_param_icon_file
      , & __out_param_icon_group
      , & __out_param_icon_type);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< ::efl::eina::string_view>::type, const char *>(icon_file, __out_param_icon_file);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< ::efl::eina::string_view>::type, const char *>(icon_group, __out_param_icon_group);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Icon_Type>::type, Elm_Icon_Type>(icon_type, __out_param_icon_type);
}
inline ::efl::eolian::return_traits<void>::type Item::icon_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon_file,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon_group,  ::efl::eolian::in_traits<Elm_Icon_Type>::type icon_type) const
{
    ::elm_obj_hoversel_item_icon_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon_file)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon_group)
      ,  ::efl::eolian::convert_to_c<Elm_Icon_Type,  ::efl::eolian::in_traits<Elm_Icon_Type>::type>(icon_type));
}
} } 
namespace eo_cxx {
namespace elm { namespace hoversel { 
inline ::efl::eolian::return_traits<void>::type Item::icon_get( ::efl::eolian::out_traits< ::efl::eina::string_view>::type icon_file,  ::efl::eolian::out_traits< ::efl::eina::string_view>::type icon_group,  ::efl::eolian::out_traits<Elm_Icon_Type>::type icon_type) const
{
   const char * __out_param_icon_file = {};
   const char * __out_param_icon_group = {};
   Elm_Icon_Type __out_param_icon_type = {};
    ::elm_obj_hoversel_item_icon_get(this->_eo_ptr()
      , & __out_param_icon_file
      , & __out_param_icon_group
      , & __out_param_icon_type);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< ::efl::eina::string_view>::type, const char *>(icon_file, __out_param_icon_file);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< ::efl::eina::string_view>::type, const char *>(icon_group, __out_param_icon_group);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Icon_Type>::type, Elm_Icon_Type>(icon_type, __out_param_icon_type);
}
inline ::efl::eolian::return_traits<void>::type Item::icon_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon_file,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon_group,  ::efl::eolian::in_traits<Elm_Icon_Type>::type icon_type) const
{
    ::elm_obj_hoversel_item_icon_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon_file)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon_group)
      ,  ::efl::eolian::convert_to_c<Elm_Icon_Type,  ::efl::eolian::in_traits<Elm_Icon_Type>::type>(icon_type));
}
inline elm::hoversel::Item::operator ::elm::hoversel::Item() const { return *static_cast< ::elm::hoversel::Item const*>(static_cast<void const*>(this)); }
inline elm::hoversel::Item::operator ::elm::hoversel::Item&() { return *static_cast< ::elm::hoversel::Item*>(static_cast<void*>(this)); }
inline elm::hoversel::Item::operator ::elm::hoversel::Item const&() const { return *static_cast< ::elm::hoversel::Item const*>(static_cast<void const*>(this)); }
} } }

