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
For performance reasons, the unused area of storage is always left as it is when
some elements are removed.
No time is lost to clean the released area with a Void
or a 0 value. (Look for example the remove_last implementation.)
Thus, the unused area of storage may contains references of actually unreachable
objects. The following mark_native_arrays actually replace the
default behavior (the call is automatic) in order to mark only reachable objects.
The basic = is used
for comparison of items and indices are not considered (for
example this routine may yield True with Current indexed in
range [1..2] and other indexed in range [2..3]).
Forces the garbage collector to continue the marking process on the index-th element of
the native_array. The element at index can be Void or not Void (the Void-ness test
performed inside the mark_item itself).