Disposable Module
Disposable utilities — create, combine, defer, null-safe dispose.
Types
| Type | Description |
|
Deferred cleanup stack (like Go's |
Functions and values
| Function or value |
Description
|
Full Usage:
Disposable.combine disposables
Parameters:
IDisposable list
-
The list of disposables to combine.
Returns: IDisposable
|
Combines multiple disposables into one. All are disposed in reverse order.
Example
val all: obj
|
Full Usage:
Disposable.create f
Parameters:
unit -> unit
-
The cleanup function to invoke on disposal.
Returns: IDisposable
Modifiers: inline |
Creates an IDisposable from a cleanup function.
Example
val d: obj
|
Full Usage:
Disposable.createOnce f
Parameters:
unit -> unit
-
The cleanup function to run at most once.
Returns: IDisposable
|
Creates a disposable that runs the cleanup function at most once (thread-safe). Thread-safe: uses Exchange internally.
|
|
|
|
Safely disposes a value (null-safe, no-op if null). The disposable to dispose.
|
|
Disposes the inner value if Some, no-op if None. The optional disposable to dispose.
|
|
Disposes the inner value if ValueSome, no-op if ValueNone. The value-option disposable to dispose.
|
|
An IDisposable that does nothing on Dispose.
|
|
|
|
|
Full Usage:
Disposable.using create f
Parameters:
unit -> 'T
f : 'T -> 'R
Returns: 'R
Modifiers: inline Type parameters: 'T, 'R |
Wraps a function: creates a resource, applies f, then disposes the resource. Factory function that produces the disposable resource. Function to apply to the created resource.
|
TDesu.FSharp