castFrom<S, T> method
Null safety
- Queue<
S> source
override
Adapts source
to be a Queue<T>
.
Any time the queue would produce an element that is not a T
,
the element access will throw.
When a T
value is stored into the adapted queue,
the operation will throw unless the value is also an instance of S
.
If all accessed elements of source
are actually instances of T
,
and if all elements stored into the returned queue are actually instances
of S
,
then the returned queue can be used as a Queue<T>
.
Methods which accept Object?
as argument, like contains and remove,
will pass the argument directly to this queue's method
without any checks.
Implementation
static Queue<T> castFrom<S, T>(Queue<S> source) => CastQueue<S, T>(source);