indexing
description: "Implementation of DB_ALL_TYPES"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2006-01-22 18:25:44 -0800 (Sun, 22 Jan 2006) $"
revision: "$Revision: 56675 $"
class interface
DATABASE_ALL_TYPES [G -> DATABASE create default_create end]
create
make
feature
accommodate (n: INTEGER_32)
`n'
HASH_TABLE
require HASH_TABLE
n >= 0
ensure HASH_TABLE
count_not_changed: count = old count
slot_count_same_as_count: used_slot_count = count
breathing_space: count < capacity * initial_occupation
make
ht_make (n: INTEGER_32)
`n'
`n'
HASH_TABLE
ensure HASH_TABLE
breathing_space: n < capacity * initial_occupation
minimum_space: minimum_capacity < capacity * initial_occupation
more_than_minimum: capacity >= minimum_capacity
no_status: not special_status
feature
bit_type: INTEGER_32 is 8
INTERNAL
boolean_field (i: INTEGER_32; object: ANY): BOOLEAN
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
boolean_field: field_type (i, object) = boolean_type
boolean_type: INTEGER_32 is 3
INTERNAL
character_32_type: INTEGER_32 is 12
INTERNALWide_character_type
INTERNAL
character_8_type: INTEGER_32 is 2
INTERNALCharacter_type
INTERNAL
character_field (i: INTEGER_32; object: ANY): CHARACTER_8
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
character_field: field_type (i, object) = character_type
character_type: INTEGER_32 is 2
INTERNALCharacter_8_type
INTERNAL
class_name (object: ANY): STRING_8
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
class_name_of_type (type_id: INTEGER_32): STRING_8
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
current_keys: ARRAY [INTEGER_32]
count
HASH_TABLE
ensure HASH_TABLE
good_count: Result.count = count
cursor: CURSOR
HASH_TABLE
ensure HASH_TABLE
cursor_not_void: Result /= Void
db_type (object: ANY): DB_TYPE
`object'
ensure
result_value: Result = item (dynamic_type (object))
double_field (i: INTEGER_32; object: ANY): REAL_64
`i'`object'
INTERNALreal_64_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_64_field: field_type (i, object) = real_64_type
double_type: INTEGER_32 is 6
INTERNALReal_64_type
INTERNAL
dynamic_type (object: ANY): INTEGER_32
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
ensure INTERNAL
dynamic_type_nonnegative: Result >= 0
expanded_field_type (i: INTEGER_32; object: ANY): STRING_8
`i'
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
is_expanded: field_type (i, object) = expanded_type
ensure INTERNAL
result_exists: Result /= Void
expanded_type: INTEGER_32 is 7
INTERNAL
field (i: INTEGER_32; object: ANY): ANY
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
not_special: not is_special (object)
field_name (i: INTEGER_32; object: ANY): STRING_8
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
not_special: not is_special (object)
ensure INTERNAL
result_exists: Result /= Void
field_name_of_type (i: INTEGER_32; type_id: INTEGER_32): STRING_8
`i'`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
index_large_enough: i >= 1
index_small_enought: i <= field_count_of_type (type_id)
field_offset (i: INTEGER_32; object: ANY): INTEGER_32
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
not_special: not is_special (object)
field_static_type_of_type (i: INTEGER_32; type_id: INTEGER_32): INTEGER_32
`i'`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
index_large_enough: i >= 1
index_small_enough: i <= field_count_of_type (type_id)
ensure INTERNAL
field_type_nonnegative: Result >= 0
field_type (i: INTEGER_32; object: ANY): INTEGER_32
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
ensure INTERNAL
field_type_nonnegative: Result >= 0
field_type_of_type (i: INTEGER_32; type_id: INTEGER_32): INTEGER_32
`i'`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
index_large_enough: i >= 1
index_small_enough: i <= field_count_of_type (type_id)
ensure INTERNAL
field_type_nonnegative: Result >= 0
found_item: DB_TYPE
HASH_TABLE
generating_type: STRING_8
ANY
generator: STRING_8
ANY
generic_count (obj: ANY): INTEGER_32
`obj'
INTERNAL
require INTERNAL
obj_not_void: obj /= Void
generic_count_of_type (type_id: INTEGER_32): INTEGER_32
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
generic_dynamic_type (object: ANY; i: INTEGER_32): INTEGER_32
`object'
`i'
INTERNAL
require INTERNAL
object_not_void: object /= Void
object_generic: generic_count (object) > 0
i_valid: i > 0 and i <= generic_count (object)
ensure INTERNAL
dynamic_type_nonnegative: Result >= 0
generic_dynamic_type_of_type (type_id: INTEGER_32; i: INTEGER_32): INTEGER_32
`type_id'`i'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
type_id_generic: generic_count_of_type (type_id) > 0
i_valid: i > 0 and i <= generic_count_of_type (type_id)
ensure INTERNAL
dynamic_type_nonnegative: Result >= 0
has (key: INTEGER_32): BOOLEAN
`key'
HASH_TABLE
ensure then HASH_TABLE
default_case: (key = computed_default_key) implies (Result = has_default)
has_item (v: DB_TYPE): BOOLEAN
`v'
object_comparison
HASH_TABLE
ensure CONTAINER
not_found_in_empty: Result implies not is_empty
integer_16_field (i: INTEGER_32; object: ANY): INTEGER_16
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_16_field: field_type (i, object) = integer_16_type
integer_16_type: INTEGER_32 is 10
INTERNAL
integer_32_field (i: INTEGER_32; object: ANY): INTEGER_32
`i'`object'
INTERNALinteger_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_32_field: field_type (i, object) = integer_32_type
integer_32_type: INTEGER_32 is 4
INTERNALInteger_type
INTERNAL
integer_64_field (i: INTEGER_32; object: ANY): INTEGER_64
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_64_field: field_type (i, object) = integer_64_type
integer_64_type: INTEGER_32 is 11
INTERNAL
integer_8_field (i: INTEGER_32; object: ANY): INTEGER_8
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_8_field: field_type (i, object) = integer_8_type
integer_8_type: INTEGER_32 is 9
INTERNAL
integer_field (i: INTEGER_32; object: ANY): INTEGER_32
`i'`object'
INTERNALinteger_32_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_32_field: field_type (i, object) = integer_32_type
integer_type: INTEGER_32 is 4
INTERNALInteger_32_type
INTERNAL
item alias "[]" (key: INTEGER_32): DB_TYPE assign put
`key'
`G'
HASH_TABLEinfix "@"
HASH_TABLE
require TABLE
valid_key: valid_key (key)
ensure then HASH_TABLE
default_value_if_not_present: (not (has (key))) implies (Result = computed_default_value)
item_for_iteration: DB_TYPE
HASH_TABLE
require HASH_TABLE
not_off: not off
key_for_iteration: INTEGER_32
HASH_TABLE
require HASH_TABLE
not_off: not off
ensure HASH_TABLE
at_iteration_position: Result = key_at (iteration_position)
max_predefined_type: INTEGER_32 is 16
INTERNAL
natural_16_field (i: INTEGER_32; object: ANY): NATURAL_16
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_16_field: field_type (i, object) = natural_16_type
natural_16_type: INTEGER_32 is 14
INTERNAL
natural_32_field (i: INTEGER_32; object: ANY): NATURAL_32
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_32_field: field_type (i, object) = natural_32_type
natural_32_type: INTEGER_32 is 15
INTERNAL
natural_64_field (i: INTEGER_32; object: ANY): NATURAL_64
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_64_field: field_type (i, object) = natural_64_type
natural_64_type: INTEGER_32 is 16
INTERNAL
natural_8_field (i: INTEGER_32; object: ANY): NATURAL_8
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_8_field: field_type (i, object) = natural_8_type
natural_8_type: INTEGER_32 is 13
INTERNAL
none_type: INTEGER_32 is -2
INTERNAL
pointer_field (i: INTEGER_32; object: ANY): POINTER
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
pointer_field: field_type (i, object) = pointer_type
pointer_type: INTEGER_32 is 0
INTERNAL
real_32_field (i: INTEGER_32; object: ANY): REAL_32
`i'`object'
INTERNALreal_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_32_field: field_type (i, object) = real_32_type
real_32_type: INTEGER_32 is 5
INTERNALReal_type
INTERNAL
real_64_field (i: INTEGER_32; object: ANY): REAL_64
`i'`object'
INTERNALdouble_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_64_field: field_type (i, object) = real_64_type
real_64_type: INTEGER_32 is 6
INTERNALDouble_type
INTERNAL
real_field (i: INTEGER_32; object: ANY): REAL_32
`i'`object'
INTERNALreal_32_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_32_field: field_type (i, object) = real_32_type
real_type: INTEGER_32 is 5
INTERNALReal_32_type
INTERNAL
reference_type: INTEGER_32 is 1
INTERNAL
type_name (object: ANY): STRING_8
`object'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
type_name_of_type (type_id: INTEGER_32): STRING_8
`type_id'`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
wide_character_type: INTEGER_32 is 12
INTERNALCharacter_32_type
INTERNAL
infix "@" (key: INTEGER_32): DB_TYPE assign put
`key'
`G'
HASH_TABLEitem
HASH_TABLE
require TABLE
valid_key: valid_key (key)
ensure then HASH_TABLE
default_value_if_not_present: (not (has (key))) implies (Result = computed_default_value)
feature
bit_size (i: INTEGER_32; object: ANY): INTEGER_32
`i'`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
is_bit: field_type (i, object) = bit_type
ensure INTERNAL
positive_result: Result > 0
capacity: INTEGER_32
HASH_TABLE
count: INTEGER_32
HASH_TABLE
field_count (object: ANY): INTEGER_32
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
field_count_of_type (type_id: INTEGER_32): INTEGER_32
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
occurrences (v: DB_TYPE): INTEGER_32
`v'
HASH_TABLE
ensure BAG
non_negative_occurrences: Result >= 0
physical_size (object: ANY): INTEGER_32
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
feature
frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
shallow_implies_deep: standard_equal (some, other) implies Result
both_or_none_void: (some = Void) implies (Result = (other = Void))
same_type: (Result and (some /= Void)) implies some.same_type (other)
symmetric: Result implies deep_equal (other, some)
frozen equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))
is_equal (other: like Current): BOOLEAN
`other'
HASH_TABLE
require ANY
other_not_void: other /= Void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))
frozen standard_is_equal (other: like Current): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
same_type: Result implies same_type (other)
symmetric: Result implies other.standard_is_equal (Current)
feature
after: BOOLEAN
HASH_TABLEoff
HASH_TABLE
ensure HASH_TABLE
definition: Result = ((not has_default and (iteration_position >= capacity)) or (has_default and (iteration_position = (capacity + 1))))
changeable_comparison_criterion: BOOLEAN
object_comparison
CONTAINER
conflict: BOOLEAN
HASH_TABLE
conforms_to (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
extendible: BOOLEAN is True
HASH_TABLE
found: BOOLEAN
HASH_TABLE
full: BOOLEAN is False
HASH_TABLE
inserted: BOOLEAN
HASH_TABLE
is_empty: BOOLEAN
FINITE
require CONTAINER
True
is_inserted (v: DB_TYPE): BOOLEAN
`v'
`has (v)'
COLLECTION
is_marked (obj: ANY): BOOLEAN
`obj'
INTERNAL
require INTERNAL
object_exists: obj /= Void
is_pre_ecma_mapping_disabled: BOOLEAN
INTERNAL_HELPER
is_registered (object: ANY): BOOLEAN
`object'
require
object_not_void: object /= Void
ensure
result_value: Result = has (dynamic_type (object))
is_special (object: ANY): BOOLEAN
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
is_special_any_type (type_id: INTEGER_32): BOOLEAN
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
is_special_type (type_id: INTEGER_32): BOOLEAN
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
is_tuple (object: ANY): BOOLEAN
`object'
INTERNAL
require INTERNAL
object_not_void: object /= Void
is_tuple_type (type_id: INTEGER_32): BOOLEAN
`type_id'
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
is_valid_type_string (s: STRING_8): BOOLEAN
`s'
INTERNAL_HELPER
require INTERNAL_HELPER
s_not_void: s /= Void
s_not_empty: not s.is_empty
mapped_type (a_type: STRING_8): STRING_8
is_pre_ecma_mapping_disabled`a_type'
INTERNAL_HELPER
require INTERNAL_HELPER
a_type_not_void: a_type /= Void
ensure INTERNAL_HELPER
mapped_type_not_void: Result /= Void
not_found: BOOLEAN
HASH_TABLE
object_comparison: BOOLEAN
equal`='
`='
CONTAINER
off: BOOLEAN
HASH_TABLEafter
HASH_TABLE
ensure HASH_TABLE
definition: Result = ((not has_default and (iteration_position >= capacity)) or (has_default and (iteration_position = (capacity + 1))))
prunable: BOOLEAN
HASH_TABLE
removed: BOOLEAN
HASH_TABLE
replaced: BOOLEAN
HASH_TABLE
same_type (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
definition: Result = (conforms_to (other) and other.conforms_to (Current))
valid_cursor (c: CURSOR): BOOLEAN
`c'
HASH_TABLE
require HASH_TABLE
c_not_void: c /= Void
valid_key (k: INTEGER_32): BOOLEAN
`k'
HASH_TABLE
require TABLE
True
ensure then HASH_TABLE
Result
feature
compare_objects
equal
`='
CONTAINER
require CONTAINER
changeable_comparison_criterion: changeable_comparison_criterion
ensure CONTAINER
object_comparison
compare_references
`='
equal
CONTAINER
require CONTAINER
changeable_comparison_criterion: changeable_comparison_criterion
ensure CONTAINER
reference_comparison: not object_comparison
disable_pre_ecma_mapping
is_pre_ecma_mapping_disabled
INTERNAL_HELPER
ensure INTERNAL_HELPER
is_pre_ecma_mapping_disabled_set: is_pre_ecma_mapping_disabled
enable_pre_ecma_mapping
is_pre_ecma_mapping_disabled
INTERNAL_HELPER
ensure INTERNAL_HELPER
is_pre_ecma_mapping_disabled_set: not is_pre_ecma_mapping_disabled
feature
forth
off
HASH_TABLE
require HASH_TABLE
not_off: not off
go_to (c: CURSOR)
`c'
HASH_TABLE
require HASH_TABLE
c_not_void: c /= Void
valid_cursor: valid_cursor (c)
search (key: INTEGER_32)
`key'
found
found_item`key'
HASH_TABLE
ensure HASH_TABLE
found_or_not_found: found or not_found
item_if_found: found implies (found_item = content.item (position))
start
HASH_TABLE
feature
extend (new: DB_TYPE; key: INTEGER_32)
`key'
`new'`key'
inserted
`instructions'
HASH_TABLE
require HASH_TABLE
not_present: not has (key)
ensure HASH_TABLE
inserted: inserted
insertion_done: item (key) = new
one_more: count = old count + 1
same_slot_count_or_one_more_unless_reallocated: (used_slot_count = old used_slot_count) or (used_slot_count = old used_slot_count + 1) or (used_slot_count = count)
default_property: has_default = ((key = computed_default_key) or (old has_default))
fill (other: CONTAINER [DB_TYPE])
`other'
`other'
COLLECTION
require COLLECTION
other_not_void: other /= Void
extendible: extendible
force (new: DB_TYPE; key: INTEGER_32)
`new'
`key'
found
found_item
not_found
found_item
`instructions'
HASH_TABLE
require else HASH_TABLE
True
ensure then HASH_TABLE
insertion_done: item (key) = new
now_present: has (key)
found_or_not_found: found or not_found
not_found_if_was_not_present: not_found = not (old has (key))
same_count_or_one_more: (count = old count) or (count = old count + 1)
same_slot_count_or_one_more_unless_reallocated: (used_slot_count = old used_slot_count) or (used_slot_count = old used_slot_count + 1) or (used_slot_count = count)
found_item_is_old_item: found implies (found_item = old (item (key)))
default_value_if_not_found: not_found implies (found_item = computed_default_value)
default_property: has_default = ((key = computed_default_key) or ((key /= computed_default_key) and (old has_default)))
merge (other: HASH_TABLE [DB_TYPE, INTEGER_32])
`other'`other'
`Current'
`other'
HASH_TABLE
require HASH_TABLE
other_not_void: other /= Void
ensure HASH_TABLE
inserted: other.current_keys.linear_representation.for_all (agent has)
put (new: DB_TYPE; key: INTEGER_32)
`new'`key'
inserted
`key'
position
conflict
found_item
`key'
`new'
`instructions'
HASH_TABLE
require TABLE
valid_key: valid_key (key)
ensure then HASH_TABLE
conflict_or_inserted: conflict or inserted
insertion_done: inserted implies item (key) = new
now_present: inserted implies has (key)
one_more_if_inserted: inserted implies (count = old count + 1)
unchanged_if_conflict: conflict implies (count = old count)
same_item_if_conflict: conflict implies (item (key) = old (item (key)))
slot_count_unchanged_if_conflict: conflict implies (used_slot_count = old used_slot_count)
found_item_associated_with_key: found_item = item (key)
new_item_if_inserted: inserted implies (found_item = new)
old_item_if_conflict: conflict implies (found_item = old (item (key)))
default_property: has_default = ((inserted and (key = computed_default_key)) or ((conflict or (key /= computed_default_key)) and (old has_default)))
register_all
require
count = 0
ensure
positive_count: count > 0
register_type (type: DB_TYPE)
`type'
require
type_not_void: type /= Void
type_not_register: not has_item (type)
ensure
incremented_count: count = old count + 1
replace (new: DB_TYPE; key: INTEGER_32)
`key'
`new'
replaced
`key'not_found
found_item
`key'
`instructions'
HASH_TABLE
ensure HASH_TABLE
replaced_or_not_found: replaced or not_found
insertion_done: replaced implies item (key) = new
no_change_if_not_found: not_found implies item (key) = old (item (key))
found_item_is_old_item: found_item = old (item (key))
replace_key (new_key: INTEGER_32; old_key: INTEGER_32)
`old_key'
`new_key'`new_key'
replacedfound_item
`old_key'
not_foundconflict
conflictfound_item
`new_key'
`instructions'
HASH_TABLE
ensure HASH_TABLE
same_count: count = old count
replaced_or_conflict_or_not_found: replaced or conflict or not_found
old_absent: (replaced and not equal (new_key, old_key)) implies (not has (old_key))
new_present: (replaced or conflict) = has (new_key)
new_item: replaced implies (item (new_key) = old (item (old_key)))
not_found_implies_no_old_key: not_found implies old (not has (old_key))
conflict_iff_already_present: conflict = old (has (new_key))
not_inserted_if_conflict: conflict implies (item (new_key) = old (item (new_key)))
default_property: has_default = ((new_key = computed_default_key) or ((new_key /= computed_default_key) and (old has_default)))
set_boolean_field (i: INTEGER_32; object: ANY; value: BOOLEAN)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
boolean_field: field_type (i, object) = boolean_type
set_character_field (i: INTEGER_32; object: ANY; value: CHARACTER_8)
`i'`object'`value'
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
character_field: field_type (i, object) = character_type
set_double_field (i: INTEGER_32; object: ANY; value: REAL_64)
INTERNALset_real_64_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_64_field: field_type (i, object) = real_64_type
set_integer_16_field (i: INTEGER_32; object: ANY; value: INTEGER_16)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_16_field: field_type (i, object) = integer_16_type
set_integer_32_field (i: INTEGER_32; object: ANY; value: INTEGER_32)
INTERNALset_integer_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_32_field: field_type (i, object) = integer_32_type
set_integer_64_field (i: INTEGER_32; object: ANY; value: INTEGER_64)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_64_field: field_type (i, object) = integer_64_type
set_integer_8_field (i: INTEGER_32; object: ANY; value: INTEGER_8)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_8_field: field_type (i, object) = integer_8_type
set_integer_field (i: INTEGER_32; object: ANY; value: INTEGER_32)
INTERNALset_integer_32_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
integer_32_field: field_type (i, object) = integer_32_type
set_natural_16_field (i: INTEGER_32; object: ANY; value: NATURAL_16)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_16_field: field_type (i, object) = natural_16_type
set_natural_32_field (i: INTEGER_32; object: ANY; value: NATURAL_32)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_32_field: field_type (i, object) = natural_32_type
set_natural_64_field (i: INTEGER_32; object: ANY; value: NATURAL_64)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_64_field: field_type (i, object) = natural_64_type
set_natural_8_field (i: INTEGER_32; object: ANY; value: NATURAL_8)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
natural_8_field: field_type (i, object) = natural_8_type
set_pointer_field (i: INTEGER_32; object: ANY; value: POINTER)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
pointer_field: field_type (i, object) = pointer_type
set_real_32_field (i: INTEGER_32; object: ANY; value: REAL_32)
INTERNALset_real_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_32_field: field_type (i, object) = real_32_type
set_real_64_field (i: INTEGER_32; object: ANY; value: REAL_64)
INTERNALset_double_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_64_field: field_type (i, object) = real_64_type
set_real_field (i: INTEGER_32; object: ANY; value: REAL_32)
INTERNALset_real_32_field
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
real_32_field: field_type (i, object) = real_32_type
set_reference_field (i: INTEGER_32; object: ANY; value: ANY)
INTERNAL
require INTERNAL
object_not_void: object /= Void
index_large_enough: i >= 1
index_small_enough: i <= field_count (object)
reference_field: field_type (i, object) = reference_type
value_conforms_to_field_static_type: value /= Void implies type_conforms_to (dynamic_type (value), field_static_type_of_type (i, dynamic_type (object)))
feature
clear_all
HASH_TABLE
require COLLECTION
prunable: prunable
ensure COLLECTION
wiped_out: is_empty
ensure then HASH_TABLE
position_equal_to_zero: position = 0
count_equal_to_zero: count = 0
used_slot_count_equal_to_zero: used_slot_count = 0
has_default_set: not has_default
no_status: not special_status
remove (key: INTEGER_32)
`key'
removed
`key'
position
not_found
found_itemremoved
HASH_TABLE
ensure HASH_TABLE
removed_or_not_found: removed or not_found
not_present: not has (key)
one_less: found implies (count = old count - 1)
same_slot_count: used_slot_count = old used_slot_count
default_case: (key = computed_default_key) implies (not has_default)
non_default_case: (key /= computed_default_key) implies (has_default = old has_default)
feature
linear_representation: ARRAYED_LIST [DB_TYPE]
HASH_TABLE
require CONTAINER
True
ensure then HASH_TABLE
result_exists: Result /= Void
good_count: Result.count = count
feature
copy (other: like Current)
`other'
HASH_TABLE
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_equal: is_equal (other)
frozen deep_copy (other: like Current)
copy`other'deep_twin
ANY
require ANY
other_not_void: other /= Void
ensure ANY
deep_equal: deep_equal (Current, other)
frozen deep_twin: like Current
ANY
ensure ANY
deep_equal: deep_equal (Current, Result)
frozen standard_copy (other: like Current)
`other'
ANY
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_standard_equal: standard_is_equal (other)
frozen standard_twin: like Current
`other'
ANY
ensure ANY
standard_twin_not_void: Result /= Void
equal: standard_equal (Result, Current)
frozen twin: like Current
`Current'
twincopycopy
ANY
ensure ANY
twin_not_void: Result /= Void
is_equal: Result.is_equal (Current)
feature
frozen default: like Current
ANY
frozen default_pointer: POINTER
`POINTER'
`p'default
`p'`POINTER'
ANY
default_rescue
ANY
frozen do_nothing
ANY
feature
is_instance_of (object: ANY; type_id: INTEGER_32): BOOLEAN
`object'`type_id'
INTERNAL
require INTERNAL
object_not_void: object /= Void
type_id_nonnegative: type_id >= 0
type_conforms_to (type1, type2: INTEGER_32): BOOLEAN
`type1'`type2'
INTERNAL
require INTERNAL
type1_nonnegative: type1 >= 0
type2_nonnegative: type2 >= 0
feature
dynamic_type_from_string (class_type: STRING_8): INTEGER_32
`class_type'
INTERNAL
require INTERNAL
class_type_not_void: class_type /= Void
class_type_not_empty: not class_type.is_empty
is_valid_type_string: is_valid_type_string (class_type)
ensure INTERNAL
dynamic_type_from_string_valid: Result = -1 or Result = none_type or Result >= 0
new_instance_of (type_id: INTEGER_32): ANY
`type_id'
`type_id'
new_special_any_instance
INTERNAL
require INTERNAL
type_id_nonnegative: type_id >= 0
not_special_type: not is_special_type (type_id)
ensure INTERNAL
not_special_type: not is_special (Result)
dynamic_type_set: dynamic_type (Result) = type_id
new_special_any_instance (type_id, count: INTEGER_32): SPECIAL [ANY]
`type_id'
count
`SPECIAL'
INTERNAL
require INTERNAL
count_valid: count >= 0
type_id_nonnegative: type_id >= 0
special_type: is_special_any_type (type_id)
ensure INTERNAL
special_type: is_special (Result)
dynamic_type_set: dynamic_type (Result) = type_id
count_set: Result.count = count
feature
lock_marking
markunmarkmark
unmark
INTERNAL
mark (obj: ANY)
`obj'
lock_marking
INTERNAL
require INTERNAL
object_not_void: obj /= Void
object_not_marked: not is_marked (obj)
ensure INTERNAL
is_marked: is_marked (obj)
unlock_marking
markunmark
markunmark
INTERNAL
unmark (obj: ANY)
`obj'
lock_marking
INTERNAL
require INTERNAL
object_not_void: obj /= Void
object_marked: is_marked (obj)
ensure INTERNAL
is_not_marked: not is_marked (obj)
feature
io: STD_FILES
ANY
out: STRING_8
ANYtagged_out
ANY
print (some: ANY)
`some'
ANY
frozen tagged_out: STRING_8
ANYout
ANY
feature
operating_environment: OPERATING_ENVIRONMENT
ANY
feature
compiler_version: INTEGER_32
INTERNAL
invariant
HASH_TABLE
keys_not_void: keys /= Void
content_not_void: content /= Void
deleted_marks_not_void: deleted_marks /= Void
keys_same_capacity_plus_one: keys.count = capacity + 1
content_same_capacity_plus_one: content.count = capacity + 1
deleted_same_capacity: deleted_marks.count = capacity + 1
valid_iteration_position: off or truly_occupied (iteration_position)
control_non_negative: control >= 0
special_status: special_status = (conflict or inserted or replaced or removed or found or not_found)
max_occupation_meaningful: (max_occupation > 0) and (max_occupation < 1)
initial_occupation_meaningful: (initial_occupation > 0) and (initial_occupation < 1)
sized_generously_enough: initial_occupation < max_occupation
count_big_enough: 0 <= count
count_small_enough: count <= capacity
breathing_space: count <= capacity * max_occupation
count_no_more_than_slot_count: count <= used_slot_count
slot_count_big_enough: 0 <= count
slot_count_small_enough: used_slot_count <= capacity
FINITE
empty_definition: is_empty = (count = 0)
non_negative_count: count >= 0
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
indexing
copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end DATABASE_ALL_TYPES