14 max_length = max_length_;
15 stop_position = stop_pos_;
16 direction = (direction_ < 0) ? BACKWARD : FORWARD;
17 pos = start_pos_ - direction;
24 stop_position = IGNORE;
35 max_length = max_length_;
36 stop_position = stop_pos_;
37 direction = (direction_ < 0) ? BACKWARD : FORWARD;
38 pos = start_pos_ - direction;
47 if (((max_length != IGNORE) && (delivered >= max_length)) ||
48 ((stop_position != IGNORE) && (pos == stop_position)))
return EOS;
53 if (pos < 0)
return EOS;
54 cur_char = sequence[pos];
55 if (cur_char >
'Z') cur_char = cur_char - (
'a' -
'A');
57 while ((cur_char !=
'A') &&
76 if (pos < 0)
return EOS;
77 cur_char = sequence[pos];
78 if (cur_char >
'Z') cur_char = cur_char - (
'a' -
'A');
81 if (cur_char != EOS) delivered++;
SequenceIterator(const char *sequence_, PRD_Sequence_Pos start_pos_, PRD_Sequence_Pos stop_pos_, int max_length_, int direction_)
void restart(PRD_Sequence_Pos start_pos_, PRD_Sequence_Pos stop_pos_, int max_length_, int direction_)
static const int BACKWARD
long int PRD_Sequence_Pos