Returns a Raii[B]
based on a Raii[A]
and a function that creates a Raii[B]
,
for those B
do not reference to A
or A
is a garbage collected object.
Returns a Raii[B]
based on a Raii[A]
and a function that creates a Raii[B]
,
for those B
do not reference to A
or A
is a garbage collected object.
intransitiveFlatMap
is similar to flatMap
in raiiInstances,
except intransitiveFlatMap
will release A
right after B
is created.
Raiin't use this method if you need to retain A
until B
is released.
Returns a Raii[B]
based on a Raii[A]
and a function that creates B
,
for those B
do not reference to A
or A
is a garbage collected object.
Returns a Raii[B]
based on a Raii[A]
and a function that creates B
,
for those B
do not reference to A
or A
is a garbage collected object.
intransitiveMap
is similar to map
in raiiInstances,
except intransitiveMap
will release A
right after B
is created.
Don't use this method if you need to retain A
until B
is released.
Returns a Task
of A
, which will open A
and release all resources during opening A
.
Returns a Task
of A
, which will open A
and release all resources during opening A
.
A
itself must be garbageCollected(i.e. does not have clean up operation),
though A
may use some non-garbage-collected resources during opening A
.