namespace elm { namespace genlist { 
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::prev_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_prev_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::next_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_next_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::parent_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_parent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type Item::subitems_get() const
{
   const Eina_List * __return_value =  ::elm_obj_genlist_item_subitems_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::selected_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_selected_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::selected_set( ::efl::eolian::in_traits<bool>::type selected) const
{
    ::elm_obj_genlist_item_selected_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(selected));
}
inline ::efl::eolian::return_traits<bool>::type Item::expanded_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_expanded_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::expanded_set( ::efl::eolian::in_traits<bool>::type expanded) const
{
    ::elm_obj_genlist_item_expanded_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(expanded));
}
inline ::efl::eolian::return_traits<int>::type Item::expanded_depth_get() const
{
   int __return_value =  ::elm_obj_genlist_item_expanded_depth_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<int>::type Item::index_get() const
{
   int __return_value =  ::elm_obj_genlist_item_index_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::decorate_mode_get() const
{
   const char * __return_value =  ::elm_obj_genlist_item_decorate_mode_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::flip_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_flip_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::flip_set( ::efl::eolian::in_traits<bool>::type flip) const
{
    ::elm_obj_genlist_item_flip_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(flip));
}
inline ::efl::eolian::return_traits<Elm_Object_Select_Mode>::type Item::select_mode_get() const
{
   Elm_Object_Select_Mode __return_value =  ::elm_obj_genlist_item_select_mode_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Object_Select_Mode>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::select_mode_set( ::efl::eolian::in_traits<Elm_Object_Select_Mode>::type mode) const
{
    ::elm_obj_genlist_item_select_mode_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Object_Select_Mode,  ::efl::eolian::in_traits<Elm_Object_Select_Mode>::type>(mode));
}
inline ::efl::eolian::return_traits<Elm_Genlist_Item_Type>::type Item::type_get() const
{
   Elm_Genlist_Item_Type __return_value =  ::elm_obj_genlist_item_type_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Genlist_Item_Type>::type>(__return_value);
}
inline ::efl::eolian::return_traits< unsigned int>::type Item::subitems_count() const
{
   unsigned int __return_value =  ::elm_obj_genlist_item_subitems_count(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::subitems_clear() const
{
    ::elm_obj_genlist_item_subitems_clear(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::promote() const
{
    ::elm_obj_genlist_item_promote(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::demote() const
{
    ::elm_obj_genlist_item_demote(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::show( ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type type) const
{
    ::elm_obj_genlist_item_show(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type>(type));
}
inline ::efl::eolian::return_traits<void>::type Item::bring_in( ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type type) const
{
    ::elm_obj_genlist_item_bring_in(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type>(type));
}
inline ::efl::eolian::return_traits<void>::type Item::all_contents_unset( ::efl::eolian::out_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type l) const
{
   Eina_List * __out_param_l = {};
    ::elm_obj_genlist_item_all_contents_unset(this->_eo_ptr()
      , & __out_param_l);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type, Eina_List *, true>(l, __out_param_l);
}
inline ::efl::eolian::return_traits<void>::type Item::update() const
{
    ::elm_obj_genlist_item_update(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::fields_update( ::efl::eolian::in_traits< ::efl::eina::string_view>::type parts,  ::efl::eolian::in_traits<Elm_Genlist_Item_Field_Type>::type itf) const
{
    ::elm_obj_genlist_item_fields_update(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(parts)
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Field_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Field_Type>::type>(itf));
}
inline ::efl::eolian::return_traits<void>::type Item::decorate_mode_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type decorate_it_type,  ::efl::eolian::in_traits<bool>::type decorate_it_set) const
{
    ::elm_obj_genlist_item_decorate_mode_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(decorate_it_type)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(decorate_it_set));
}
} } 
namespace eo_cxx {
namespace elm { namespace genlist { 
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::prev_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_prev_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::next_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_next_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::parent_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_genlist_item_parent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type Item::subitems_get() const
{
   const Eina_List * __return_value =  ::elm_obj_genlist_item_subitems_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::selected_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_selected_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::selected_set( ::efl::eolian::in_traits<bool>::type selected) const
{
    ::elm_obj_genlist_item_selected_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(selected));
}
inline ::efl::eolian::return_traits<bool>::type Item::expanded_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_expanded_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::expanded_set( ::efl::eolian::in_traits<bool>::type expanded) const
{
    ::elm_obj_genlist_item_expanded_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(expanded));
}
inline ::efl::eolian::return_traits<int>::type Item::expanded_depth_get() const
{
   int __return_value =  ::elm_obj_genlist_item_expanded_depth_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<int>::type Item::index_get() const
{
   int __return_value =  ::elm_obj_genlist_item_index_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::decorate_mode_get() const
{
   const char * __return_value =  ::elm_obj_genlist_item_decorate_mode_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::flip_get() const
{
   Eina_Bool __return_value =  ::elm_obj_genlist_item_flip_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::flip_set( ::efl::eolian::in_traits<bool>::type flip) const
{
    ::elm_obj_genlist_item_flip_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(flip));
}
inline ::efl::eolian::return_traits<Elm_Object_Select_Mode>::type Item::select_mode_get() const
{
   Elm_Object_Select_Mode __return_value =  ::elm_obj_genlist_item_select_mode_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Object_Select_Mode>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::select_mode_set( ::efl::eolian::in_traits<Elm_Object_Select_Mode>::type mode) const
{
    ::elm_obj_genlist_item_select_mode_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Object_Select_Mode,  ::efl::eolian::in_traits<Elm_Object_Select_Mode>::type>(mode));
}
inline ::efl::eolian::return_traits<Elm_Genlist_Item_Type>::type Item::type_get() const
{
   Elm_Genlist_Item_Type __return_value =  ::elm_obj_genlist_item_type_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Genlist_Item_Type>::type>(__return_value);
}
inline ::efl::eolian::return_traits< unsigned int>::type Item::subitems_count() const
{
   unsigned int __return_value =  ::elm_obj_genlist_item_subitems_count(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::subitems_clear() const
{
    ::elm_obj_genlist_item_subitems_clear(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::promote() const
{
    ::elm_obj_genlist_item_promote(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::demote() const
{
    ::elm_obj_genlist_item_demote(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::show( ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type type) const
{
    ::elm_obj_genlist_item_show(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type>(type));
}
inline ::efl::eolian::return_traits<void>::type Item::bring_in( ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type type) const
{
    ::elm_obj_genlist_item_bring_in(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Scrollto_Type>::type>(type));
}
inline ::efl::eolian::return_traits<void>::type Item::all_contents_unset( ::efl::eolian::out_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type l) const
{
   Eina_List * __out_param_l = {};
    ::elm_obj_genlist_item_all_contents_unset(this->_eo_ptr()
      , & __out_param_l);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type, Eina_List *, true>(l, __out_param_l);
}
inline ::efl::eolian::return_traits<void>::type Item::update() const
{
    ::elm_obj_genlist_item_update(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::fields_update( ::efl::eolian::in_traits< ::efl::eina::string_view>::type parts,  ::efl::eolian::in_traits<Elm_Genlist_Item_Field_Type>::type itf) const
{
    ::elm_obj_genlist_item_fields_update(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(parts)
      ,  ::efl::eolian::convert_to_c<Elm_Genlist_Item_Field_Type,  ::efl::eolian::in_traits<Elm_Genlist_Item_Field_Type>::type>(itf));
}
inline ::efl::eolian::return_traits<void>::type Item::decorate_mode_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type decorate_it_type,  ::efl::eolian::in_traits<bool>::type decorate_it_set) const
{
    ::elm_obj_genlist_item_decorate_mode_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(decorate_it_type)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(decorate_it_set));
}
inline elm::genlist::Item::operator ::elm::genlist::Item() const { return *static_cast< ::elm::genlist::Item const*>(static_cast<void const*>(this)); }
inline elm::genlist::Item::operator ::elm::genlist::Item&() { return *static_cast< ::elm::genlist::Item*>(static_cast<void*>(this)); }
inline elm::genlist::Item::operator ::elm::genlist::Item const&() const { return *static_cast< ::elm::genlist::Item const*>(static_cast<void const*>(this)); }
} } }

