Record TOptional
Unit
Declaration
type TOptional<T> = record
Description
A generic record that holds an optional (nullable) value of type T
.
This type is inspired by Java's Optional
type and is useful for indicating the presence or absence of a value, avoiding the need for sentinel values like 0 or empty string for non-nullable types.
Overview
Methods
class function From(Value: T): TOptional<T>; static; |
|
class function Empty: TOptional<T>; static; |
|
function Get: T; |
|
function TryGet(out Value: T): Boolean; |
|
function OrElse(Default: T): T; |
|
function OrElseGet(Supplier: TFunc<T>): T; |
|
procedure IfPresent(Consumer: TProc<T>); |
|
class operator Implicit(Value: T): TOptional<T>; inline; |
Properties
property IsPresent: Boolean read FIsPresent; |
|
property IsEmpty: Boolean read GetIsEmpty; |
Description
Methods
class function From(Value: T): TOptional<T>; static; |
|
Creates an instance of
Parameters
ReturnsA |
class function Empty: TOptional<T>; static; |
|
Creates an empty ReturnsA |
function Get: T; |
|
Returns the held value if it is present, otherwise raises an EOptionalError if the optional is empty.
ReturnsThe held value Exceptions raised
|
procedure IfPresent(Consumer: TProc<T>); |
|
Executes the provided consumer procedure if the value is present. Parameters
|
class operator Implicit(Value: T): TOptional<T>; inline; |
|
Implicit conversion operator to allow assigning a value of type
Parameters
ReturnsA |
Properties
property IsPresent: Boolean read FIsPresent; |
|
Indicates whether the value is present. |
property IsEmpty: Boolean read GetIsEmpty; |
|
Indicates whether the optional is empty. |
Generated by PasDoc 0.16.0-snapshot.