mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-07 12:30:42 +02:00
Add Exchange<T> that works like std::exchange in C++.
(cherry picked from commit 05b7ebd34e
)
This commit is contained in:
parent
587c1df60e
commit
52d7e9b49f
@ -287,6 +287,7 @@ type
|
||||
|
||||
{$IFNDEF VER3_0}
|
||||
generic function IfThen<T>(val:boolean;const iftrue:T; const iffalse:T) :T; inline; overload;
|
||||
generic function Exchange<T>(var target:T; const newvalue:T) :T; inline;
|
||||
{$ENDIF}
|
||||
|
||||
Var
|
||||
|
@ -872,6 +872,12 @@ begin
|
||||
else
|
||||
Result:=ifFalse;
|
||||
end;
|
||||
|
||||
generic function Exchange<T>(var target:T; const newvalue:T) :T;
|
||||
begin
|
||||
Result := target;
|
||||
target := newvalue;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
Function ArrayOfConstToStrArray(Args: array of const) : TUTF8StringDynArray;
|
||||
|
Loading…
Reference in New Issue
Block a user