class SET{ELT} < $SET{ELT}


Ancestors
$SET{_} $RO_SET{_} $RO_BAG{_} $CONTAINER{_}
$STR $COPY $FILTERS{_} $ELT{_}
$ELT SET_INCL{_} RO_SET_INCL{_}



Public


Features
add( .. Included as add
array : ARRAY{ELT} .. Included as array
as_value : VSET{ELT} .. Included as as_value
build( cursor : STR_CURSOR) : SAME .. Included as build
****
build(cursor : STR_CURSOR, start, finish : CHAR ) : SAME .. Included as build
clear .. Included as clear
concat( .. Included as concat
contains( .. Included as contains
map_copy : SAME .. Included as copy
count( .. Included as count
count_if( .. Included as count_if
create( .. Included as create
create( str : STR ) : SAME .. Included as create
****
create(str : STR, sep : CHAR ) : SAME .. Included as create
****
create( .. Included as create
create : SAME .. Included as create
**** This routine creates a new hash table which has a default size if
___self_is_void,_otherwise_half_the_size_of_self.
create_from( .. Included as create_from
delete( .. Included as delete
delete( .. Included as delete
delete_all( .. Included as delete_all
delete_and_return( .. Included as delete_and_return
diff( .. Included as diff
elt_eq(first,second : ETP) : BOOL .. Included as elt_eq
**** This is the standard 'less than' predicate used in sorting routines.
___The_using_class_must_specify_an_equality_predicate_routine.
elt_hash(elem : $OB) : CARD .. Included as elt_hash
****
________This_routine_returns_a_hash_value_associated_with_an_element._This
___must_have_the_property_that_if_"elt_eq(first,second)"_then
___"elt_hash(first)=elt_hash(second)"._It_could_be_defined_always_to_return_0,
___but_many_routines_will_then_become_quadratic._This_uses_the_object_"id"_by
___default.___It_may_be_redefined_in_descendants.
elt_lt(first,second : ETP) : BOOL .. Included as elt_lt
****
________This_routine_is_the_standard_predicate_'less_than'_for_use_in
___sorting.___By_default_the_object_identity_components_are_compared.
___It_may_be_redefined_in_descendants.
elt_nil : ETP .. Included as elt_nil
****
________This_routine_returns_the_NIL_value.___If_the_element_class_is_a
___subclass_of_$NIL_then_it_returns_nil,_otherwise_void.
equals( .. Included as equals
every( .. Included as every
exists( .. Included as exists
exists( .. Included as exists
get( .. Included as get
insert( .. Included as insert
insert( .. Included as insert
insert_replace( .. Included as insert_replace
insert_replace( .. Included as insert_replace
inspect:STR .. Included as inspect
**** This routine returns a string representation of the contents of self. K.Kodama
intersection( .. Included as intersection
intersection( .. Included as intersection
is_elt_nil( elem : ETP) : BOOL .. Included as is_elt_nil
**** This predicate returns true if and only if elem is NIL.
is_empty : BOOL .. Included as is_empty
is_subset_of( .. Included as is_subset_of
n_unique : CARD .. Included as n_unique
not_every( .. Included as not_every
not_exists( .. Included as not_exists
size : CARD .. Included as size
str( lib : LIBCHARS ) : STR .. Included as str
str(lib : LIBCHARS, sep : CHAR ) : STR .. Included as str
str : STR .. Included as str
****
__This_routine_returns_a_string_representation_of_the_contents_of_self
__in_the_default_repertoire_and_encoding.
sym_diff( .. Included as sym_diff
to_diff( .. Included as to_diff
to_intersection( .. Included as to_intersection
to_sym_diff( .. Included as to_sym_diff
to_union( .. Included as to_union
union( .. Included as union
union( .. Included as union

Iters
elt! : ELT .. Included as elt!
filter!( .. Included as filter!
not_filter!( .. Included as not_filter!
unique! : ETP .. Included as unique!


Private

const Default_Array_Size : CARD := 5 ; .. Included as Default_Array_Size
const Default_Size : CARD := 16 ; .. Included as Default_Size
attr asize : CARD ; .. Included as asize
**** This is the size of the fraction of store which is currently in use.
___Array_access_beyond_this_bound_is_illegal.
attr asize : CARD ; .. Included as asize
**** This is the size of the fraction of store which is currently in use.
___Array_access_beyond_this_bound_is_illegal.
attr bound : CARD ; .. Included as bound
**** This gives the upper bound for split_pos. Is always initial_size * 2.pow(doubles).
attr bound : CARD ; .. Included as bound
**** This gives the upper bound for split_pos. Is always initial_size * 2.pow(doubles).
bucket(index : CARD) : BKT .. Included as bucket
build(cursor : STR_CURSOR, sep : CHAR_CODE, start : CHAR, finish : CHAR ) : SAME .. Included as build
create_sized(initial_size : CARD) : SAME .. Included as create_sized
attr doubles : CARD ; .. Included as doubles
**** The number of times the initial table size has been doubled.
attr doubles : CARD ; .. Included as doubles
**** The number of times the initial table size has been doubled.
elt_eq(first,second : ETP) : BOOL .. Included as elt_key_eq
**** This is the standard 'less than' predicate used in sorting routines.
___The_using_class_must_specify_an_equality_predicate_routine.
elt_hash(elem : $OB) : CARD .. Included as elt_key_hash
****
________This_routine_returns_a_hash_value_associated_with_an_element._This
___must_have_the_property_that_if_"elt_eq(first,second)"_then
___"elt_hash(first)=elt_hash(second)"._It_could_be_defined_always_to_return_0,
___but_many_routines_will_then_become_quadratic._This_uses_the_object_"id"_by
___default.___It_may_be_redefined_in_descendants.
elt_nil : ETP .. Included as elt_key_nil
****
________This_routine_returns_the_NIL_value.___If_the_element_class_is_a
___subclass_of_$NIL_then_it_returns_nil,_otherwise_void.
grow .. Included as grow
hash(elem : ELT) : CARD .. Included as hash
shared lower_fill_ratio : FLT := 0.800 ; .. Included as lower_fill_ratio
shared lower_fill_ratio : FLT := 0.800 ; .. Included as lower_fill_ratio
attr minsize : CARD ; .. Included as minsize
**** This is the lower bound for the store size.
attr minsize : CARD ; .. Included as minsize
**** This is the lower bound for the store size.
attr n_inds : CARD ; .. Included as n_inds
**** This gives the number of elements (resp. indices) in the table.
attr n_inds : CARD ; .. Included as n_inds
**** This gives the number of elements (resp. indices) in the table.
set_bucket(index : CARD, bucket : BKT) .. Included as set_bucket
shrink .. Included as shrink
attr split_pos : CARD ; .. Included as split_pos
**** This is the position of the next bucket to split.
attr split_pos : CARD ; .. Included as split_pos
**** This is the position of the next bucket to split.
attr store : AREF{BKT} ; .. Included as store
**** The data being stored.
attr store : AREF{BKT} ; .. Included as store
**** The data being stored.
update_delete .. Included as update_delete
update_insert .. Included as update_insert
shared upper_fill_ratio : FLT := 1.000 ; .. Included as upper_fill_ratio
**** These two bounds are specified for efficient memory usage. For fast
___access_the_ratio_between_the_number_of_elements_and_the_number_of_cells
___should_be_low.___For_efficient_memory_usage_the_converse_is_true.___Unless
___the_list_is_really_small_the_ration_should_be_between_the_above_bounds.
shared upper_fill_ratio : FLT := 1.000 ; .. Included as upper_fill_ratio
**** These two bounds are specified for efficient memory usage. For fast
___access_the_ratio_between_the_number_of_elements_and_the_number_of_cells
___should_be_low.___For_efficient_memory_usage_the_converse_is_true.___Unless
___the_list_is_really_small_the_ration_should_be_between_the_above_bounds.

The Sather Home Page