#ifndef EFL_UI_TAB_BAR_IMPL_HH
#define EFL_UI_TAB_BAR_IMPL_HH

#include "efl_ui_tab_bar.eo.hh"

namespace efl { namespace ui { 
inline ::efl::eolian::return_traits<int>::type Tab_Bar::current_tab_get() const
{
   int __return_value =  ::efl_ui_tab_bar_current_tab_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Tab_Bar::current_tab_set( ::efl::eolian::in_traits<int>::type index) const
{
    ::efl_ui_tab_bar_current_tab_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index));
}
inline ::efl::eolian::return_traits< unsigned int>::type Tab_Bar::tab_count() const
{
   unsigned int __return_value =  ::efl_ui_tab_bar_tab_count(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_add( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::efl_ui_tab_bar_tab_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_remove( ::efl::eolian::in_traits<int>::type index) const
{
    ::efl_ui_tab_bar_tab_remove(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_label_set( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::efl_ui_tab_bar_tab_label_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_icon_set( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::efl_ui_tab_bar_tab_icon_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
#endif
} } 
namespace eo_cxx {
namespace efl { namespace ui { 
inline ::efl::eolian::return_traits<int>::type Tab_Bar::current_tab_get() const
{
   int __return_value =  ::efl_ui_tab_bar_current_tab_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Tab_Bar::current_tab_set( ::efl::eolian::in_traits<int>::type index) const
{
    ::efl_ui_tab_bar_current_tab_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index));
}
inline ::efl::eolian::return_traits< unsigned int>::type Tab_Bar::tab_count() const
{
   unsigned int __return_value =  ::efl_ui_tab_bar_tab_count(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_add( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::efl_ui_tab_bar_tab_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_remove( ::efl::eolian::in_traits<int>::type index) const
{
    ::efl_ui_tab_bar_tab_remove(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_label_set( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::efl_ui_tab_bar_tab_label_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#endif
#ifdef EFL_UI_TAB_BAR_BETA
inline ::efl::eolian::return_traits<void>::type Tab_Bar::tab_icon_set( ::efl::eolian::in_traits<int>::type index,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::efl_ui_tab_bar_tab_icon_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(index)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
#endif
inline efl::ui::Tab_Bar::operator ::efl::ui::Tab_Bar() const { return *static_cast< ::efl::ui::Tab_Bar const*>(static_cast<void const*>(this)); }
inline efl::ui::Tab_Bar::operator ::efl::ui::Tab_Bar&() { return *static_cast< ::efl::ui::Tab_Bar*>(static_cast<void*>(this)); }
inline efl::ui::Tab_Bar::operator ::efl::ui::Tab_Bar const&() const { return *static_cast< ::efl::ui::Tab_Bar const*>(static_cast<void const*>(this)); }
} } }
#endif
