abstract class $SEARCH{ETP < $IS_EQ, STP} < $STRINGS
****

________This_abstract_class_characterises_a_searchable_string_of_any_kind.


Ancestors
$STRINGS $HASH $IS_EQ $NIL
$IS_NIL

Descendants
$STRING{_,_,_} BINSTR $TEXT_STRING{_,_,_} RUNES
STR HEX_STR



Public


Features
is_prefix(other : STP) : BOOL ;
****
__This_predicate_returns_true_if_and_only_if_other_is_identical_to_the
___bit-pattern_starting_at_the_beginning_of_self.
mismatch(other : STP) : CARD ;
****
__This_routine_returns_the_index_of_the_first_element_of_self_which_has
___a_different_element_value_from_other_or_CARD::nil_if_self_is_a_prefix
___of_other.
search( str : STP) : CARD ;
****
__This_routine_returns_the_index_of_the_leftmost_substring_of_self
___which_completely_matches_str.___If_there_is_no_such_position_then
___CARD::nil_is_returned.
search(str : STP,start : CARD) : CARD ;
****
__This_routine_returns_the_index_of_the_first_appearance_of_the_entire
___string_str_in_self_starting_from_the_index_start.___CARD::nil_is
___returned_if_no_such_position_is_found.
search(elem : ETP) : CARD ;
****
__This_routine_returns_the_index_in_self_at_which_elem_is_first_found
__or_if_not_present_then_CARD::nil.
search(elem : ETP,start : CARD) : CARD ;
**** This routine returms the index in self at which elem is first found
___at_or_after_index_start_-_or_if_not_present_then_CARD::nil.
search_backwards(elem : ETP) : CARD ;
****
__This_routine_returns_the_index_of_the_last_occurrence_of_elem_in
___self_--_or_CARD::nil_if_not_found_at_all.
search_backwards(elem : ETP,start : CARD) : CARD ;
****
__This_routine_returns_the_index_in_self_at_which_the_bit-pattern_elem
___is_first_found_starting_to_search_backwards_from_index_start.___If_not
___found_then_CARD::nil_is_returned.

The Sather Home Page