11 #ifndef ED4_EDIT_STRING_HXX
12 #define ED4_EDIT_STRING_HXX
65 static int nrepeat_is_already_set;
66 static int nrepeat_zero_requested;
68 int legal_curpos(
long pos)
const {
return pos>=0 && pos<=seq_len; }
69 int legal_seqpos(
long pos)
const {
return pos>=0 && pos<seq_len; }
71 GB_ERROR moveBase(
long source_position,
long dest_position,
unsigned char gap_to_use);
73 GB_ERROR shiftBases(
long source_pos,
long source_endpos,
long dest_position,
74 int direction,
long *dest_endpos,
unsigned char gap_to_use);
76 long get_next_base(
long seq_position,
int direction);
77 long get_next_gap(
long seq_position,
int direction);
79 long get_next_visible_base(
long position,
int direction);
80 long get_next_visible_gap(
long position,
int direction);
81 long get_next_visible_pos(
long position,
int direction);
83 GB_ERROR insert(
char *,
long position,
int direction,
int removeAtNextGap);
84 GB_ERROR remove(
int len,
long position,
int direction,
int insertAtNextGap);
85 GB_ERROR replace(
char *text,
long position,
int direction);
86 GB_ERROR swap_gaps(
long position,
char ch);
91 unsigned char get_gap_type(
long pos,
int direction);
101 int nrep = nrepeat==0 ? 1 : nrepeat;
108 #error ed4_edit_string.hxx included twice
109 #endif // ED4_EDIT_STRING_HXX
ED4_terminal * working_terminal
CONSTEXPR_INLINE unsigned char safeCharIndex(char c)
GB_ERROR edit(ED4_work_info *info) __ATTR__USERESULT
static bool isGap(char c)
#define __ATTR__USERESULT
ED4_CursorJumpType cursor_jump
bool ED4_is_gap_character(char chr)
void ED4_setup_gaps_and_alitype(const char *gap_chars, GB_alignment_type alitype)
static int info[maxsites+1]