#ifndef EFL_TEXT_CURSOR_IMPL_HH
#define EFL_TEXT_CURSOR_IMPL_HH

#include "efl_text_cursor.eo.hh"

namespace efl { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type Text_Cursor::text_cursor_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Get_Type>::type get_type) const
{
    Efl_Text_Cursor_Cursor * __return_value =  ::efl_text_cursor_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Get_Type,  ::efl::eolian::in_traits<Efl_Text_Cursor_Get_Type>::type>(get_type));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_position_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
    int __return_value =  ::efl_text_cursor_position_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_position_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type position) const
{
     ::efl_text_cursor_position_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(position));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Eina_Unicode>::type Text_Cursor::cursor_content_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
    Eina_Unicode __return_value =  ::efl_text_cursor_content_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Eina_Unicode>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text_Cursor::cursor_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<Efl_Text_Cursor_Type>::type ctype,  ::efl::eolian::out_traits<int>::type cx,  ::efl::eolian::out_traits<int>::type cy,  ::efl::eolian::out_traits<int>::type cw,  ::efl::eolian::out_traits<int>::type ch,  ::efl::eolian::out_traits<int>::type cx2,  ::efl::eolian::out_traits<int>::type cy2,  ::efl::eolian::out_traits<int>::type cw2,  ::efl::eolian::out_traits<int>::type ch2) const
{
    int __out_param_cx = {};
    int __out_param_cy = {};
    int __out_param_cw = {};
    int __out_param_ch = {};
    int __out_param_cx2 = {};
    int __out_param_cy2 = {};
    int __out_param_cw2 = {};
    int __out_param_ch2 = {};
    Eina_Bool __return_value =  ::efl_text_cursor_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Type,  ::efl::eolian::in_traits<Efl_Text_Cursor_Type>::type>(ctype),
        & __out_param_cx,
        & __out_param_cy,
        & __out_param_cw,
        & __out_param_ch,
        & __out_param_cx2,
        & __out_param_cy2,
        & __out_param_cw2,
        & __out_param_ch2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cx, __out_param_cx);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cy, __out_param_cy);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cw, __out_param_cw);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(ch, __out_param_ch);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cx2, __out_param_cx2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cy2, __out_param_cy2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cw2, __out_param_cw2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(ch2, __out_param_ch2);
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type Text_Cursor::cursor_new() const
{
    Efl_Text_Cursor_Cursor * __return_value =  ::efl_text_cursor_new(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_free( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_free(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text_Cursor::cursor_equal( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Bool __return_value =  ::efl_text_cursor_equal(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_compare( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    int __return_value =  ::efl_text_cursor_compare(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_copy( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type dst,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type src) const
{
     ::efl_text_cursor_copy(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(dst),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(src));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_cluster_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_cluster_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_char_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_char_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_char_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_char_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_word_start( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_word_start(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_word_end( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_word_end(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_char_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_line_char_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_char_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_line_char_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_jump_by( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type by) const
{
     ::efl_text_cursor_line_jump_by(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(by));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_coord_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type x,  ::efl::eolian::in_traits<int>::type y) const
{
     ::efl_text_cursor_coord_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(x),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(y));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_coord_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type x,  ::efl::eolian::in_traits<int>::type y) const
{
     ::efl_text_cursor_cluster_coord_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(x),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(y));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_text_insert( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    int __return_value =  ::efl_text_cursor_text_insert(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_delete( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_delete(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
} 
namespace eo_cxx {
namespace efl { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type Text_Cursor::text_cursor_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Get_Type>::type get_type) const
{
    Efl_Text_Cursor_Cursor * __return_value =  ::efl_text_cursor_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Get_Type,  ::efl::eolian::in_traits<Efl_Text_Cursor_Get_Type>::type>(get_type));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_position_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
    int __return_value =  ::efl_text_cursor_position_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_position_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type position) const
{
     ::efl_text_cursor_position_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(position));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Eina_Unicode>::type Text_Cursor::cursor_content_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
    Eina_Unicode __return_value =  ::efl_text_cursor_content_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Eina_Unicode>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text_Cursor::cursor_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<Efl_Text_Cursor_Type>::type ctype,  ::efl::eolian::out_traits<int>::type cx,  ::efl::eolian::out_traits<int>::type cy,  ::efl::eolian::out_traits<int>::type cw,  ::efl::eolian::out_traits<int>::type ch,  ::efl::eolian::out_traits<int>::type cx2,  ::efl::eolian::out_traits<int>::type cy2,  ::efl::eolian::out_traits<int>::type cw2,  ::efl::eolian::out_traits<int>::type ch2) const
{
    int __out_param_cx = {};
    int __out_param_cy = {};
    int __out_param_cw = {};
    int __out_param_ch = {};
    int __out_param_cx2 = {};
    int __out_param_cy2 = {};
    int __out_param_cw2 = {};
    int __out_param_ch2 = {};
    Eina_Bool __return_value =  ::efl_text_cursor_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Type,  ::efl::eolian::in_traits<Efl_Text_Cursor_Type>::type>(ctype),
        & __out_param_cx,
        & __out_param_cy,
        & __out_param_cw,
        & __out_param_ch,
        & __out_param_cx2,
        & __out_param_cy2,
        & __out_param_cw2,
        & __out_param_ch2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cx, __out_param_cx);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cy, __out_param_cy);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cw, __out_param_cw);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(ch, __out_param_ch);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cx2, __out_param_cx2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cy2, __out_param_cy2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(cw2, __out_param_cw2);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(ch2, __out_param_ch2);
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type Text_Cursor::cursor_new() const
{
    Efl_Text_Cursor_Cursor * __return_value =  ::efl_text_cursor_new(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Text_Cursor_Cursor*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_free( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_free(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text_Cursor::cursor_equal( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Bool __return_value =  ::efl_text_cursor_equal(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_compare( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    int __return_value =  ::efl_text_cursor_compare(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_copy( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type dst,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type src) const
{
     ::efl_text_cursor_copy(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(dst),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(src));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_cluster_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_cluster_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_char_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_char_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_char_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_char_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_word_start( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_word_start(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_word_end( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_word_end(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_char_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_line_char_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_char_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_line_char_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_first( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_first(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_last( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_last(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_next( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_next(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_paragraph_prev( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_paragraph_prev(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_line_jump_by( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type by) const
{
     ::efl_text_cursor_line_jump_by(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(by));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_coord_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type x,  ::efl::eolian::in_traits<int>::type y) const
{
     ::efl_text_cursor_coord_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(x),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(y));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_cluster_coord_set( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits<int>::type x,  ::efl::eolian::in_traits<int>::type y) const
{
     ::efl_text_cursor_cluster_coord_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(x),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(y));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Text_Cursor::cursor_text_insert( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    int __return_value =  ::efl_text_cursor_text_insert(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text_Cursor::cursor_char_delete( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur) const
{
     ::efl_text_cursor_char_delete(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur));
}
#endif
inline efl::Text_Cursor::operator ::efl::Text_Cursor() const { return *static_cast< ::efl::Text_Cursor const*>(static_cast<void const*>(this)); }
inline efl::Text_Cursor::operator ::efl::Text_Cursor&() { return *static_cast< ::efl::Text_Cursor*>(static_cast<void*>(this)); }
inline efl::Text_Cursor::operator ::efl::Text_Cursor const&() const { return *static_cast< ::efl::Text_Cursor const*>(static_cast<void const*>(this)); }
} }
#endif
