+
Point of view
All features
class REPOSITORY_TRANSIENT_OBJECT
Summary
Direct parents
Inherit list: COMPARABLE, HASHABLE
Insert list: INTERNALS_HANDLER, RECYCLABLE
Class invariant
Overview
Creation features
{REPOSITORY_TRANSIENT}
Features
{ANY}
  • hash_code: INTEGER_32
    The hash-code value of Current.
  • infix "<" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Is Current strictly less than other?
  • is_equal (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Is other attached to an object considered equal to current object?
{REPOSITORY_TRANSIENT}
{RECYCLING_POOL}
  • recycle
    Do whatever needs to be done to free resources or recycle other objects when recycling this one
{}
{ANY}
  • infix "<=" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Is Current less than or equal other?
  • infix ">" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Is Current strictly greater than other?
  • infix ">=" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Is Current greater than or equal than other?
  • in_range (lower: REPOSITORY_TRANSIENT_OBJECT, upper: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
    Return True if Current is in range [lower..upper]
    See also min, max, compare.
  • compare (other: REPOSITORY_TRANSIENT_OBJECT): INTEGER_32
    If current object equal to other, 0 if smaller, -1; if greater, 1.
  • three_way_comparison (other: REPOSITORY_TRANSIENT_OBJECT): INTEGER_32
    If current object equal to other, 0 if smaller, -1; if greater, 1.
  • min (other: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
    Minimum of Current and other.
  • max (other: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
    Maximum of Current and other.
  • bounded_by (a_min: REPOSITORY_TRANSIENT_OBJECT, a_max: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
    A value that is equal to Current if it is between the limits set by a_min and a_max.
{}
hash_code: INTEGER_32
effective function
{ANY}
The hash-code value of Current.
ensure
  • good_hash_value: Result >= 0
infix "<" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Is Current strictly less than other?
See also >, <=, >=, min, max.
require
  • other_exists: other /= Void
ensure
  • asymmetric: Result implies not other < Current
is_equal (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Is other attached to an object considered equal to current object?
require
    • other /= Void
    • other /= Void
ensure
  • commutative: generating_type = other.generating_type implies Result = other.is_equal(Current)
  • Result implies hash_code = other.hash_code
  • trichotomy: Result = not Current < other and not other < Current
set (a_internals: INTERNALS, a_key: STRING)
effective procedure
require
  • not a_internals.type_is_expanded
  • a_internals.object_as_pointer /= default_pointer
  • a_key /= Void
ensure
internals: INTERNALS
writable attribute
key: STRING
writable attribute
reset
effective procedure
ensure
recycle
effective procedure
Do whatever needs to be done to free resources or recycle other objects when recycling this one
make
effective procedure
{}
infix "<=" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Is Current less than or equal other?
See also >=, <, >, min, max.
require
  • other_exists: other /= Void
ensure
  • definition: Result = Current < other or is_equal(other)
infix ">" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Is Current strictly greater than other?
See also <, >=, <=, min, max.
require
  • other_exists: other /= Void
ensure
  • definition: Result = other < Current
infix ">=" (other: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Is Current greater than or equal than other?
See also <=, >, <, min, max.
require
  • other_exists: other /= Void
ensure
  • definition: Result = other <= Current
in_range (lower: REPOSITORY_TRANSIENT_OBJECT, upper: REPOSITORY_TRANSIENT_OBJECT): BOOLEAN
effective function
{ANY}
Return True if Current is in range [lower..upper]
See also min, max, compare.
ensure
  • Result = Current >= lower and Current <= upper
compare (other: REPOSITORY_TRANSIENT_OBJECT): INTEGER_32
effective function
{ANY}
If current object equal to other, 0 if smaller, -1; if greater, 1.
See also min, max, in_range.
require
  • other_exists: other /= Void
ensure
  • equal_zero: Result = 0 = is_equal(other)
  • smaller_negative: Result = -1 = Current < other
  • greater_positive: Result = 1 = Current > other
three_way_comparison (other: REPOSITORY_TRANSIENT_OBJECT): INTEGER_32
effective function
{ANY}
If current object equal to other, 0 if smaller, -1; if greater, 1.
See also min, max, in_range.
require
  • other_exists: other /= Void
ensure
  • equal_zero: Result = 0 = is_equal(other)
  • smaller_negative: Result = -1 = Current < other
  • greater_positive: Result = 1 = Current > other
min (other: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
effective function
{ANY}
Minimum of Current and other.
See also max, in_range.
require
  • other /= Void
ensure
  • Result <= Current and then Result <= other
  • compare(Result) = 0 or else other.compare(Result) = 0
max (other: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
effective function
{ANY}
Maximum of Current and other.
See also min, in_range.
require
  • other /= Void
ensure
  • Result >= Current and then Result >= other
  • compare(Result) = 0 or else other.compare(Result) = 0
bounded_by (a_min: REPOSITORY_TRANSIENT_OBJECT, a_max: REPOSITORY_TRANSIENT_OBJECT): REPOSITORY_TRANSIENT_OBJECT
effective function
{ANY}
A value that is equal to Current if it is between the limits set by a_min and a_max.
Otherwise it's a_min if Current is smaller or a_max if Current is greater It's a shortcut for Current.min(a_max).max(a_min) also known as "clamp" in the widespread C library Glib
ensure
  • correctness: Result.in_range(a_min, a_max)
valid_generating_type_for_internals (type: STRING): BOOLEAN
frozen
{}
require
  • type /= Void
ensure
  • Result implies not type.has_prefix("NATIVE_ARRAY")
internals_from_generating_type (type: STRING): INTERNALS
frozen
{}
require ensure
  • Result /= Void
  • Result.object_can_be_modified
valid_generating_type_for_native_array_internals (type: STRING): BOOLEAN
frozen
{}
require
  • type /= Void
ensure
  • Result implies type.has_prefix("NATIVE_ARRAY")
native_array_internals_from_generating_type (type: STRING, capacity: INTEGER_32): INTERNALS
frozen
{}
require ensure
  • Result /= Void
  • Result.object_can_be_modified