Swap

Exchanges the values of two variables

Syntax
	KeyPgDeclareDeclare KeyPgSubSub Swap  ( KeyPgByrefByRef a KeyPgAsAs KeyPgAnyAny, KeyPgByrefByRef b KeyPgAsAs KeyPgAnyAny )

Usage
	Swap a, b

Parameters
	a
		A variable to swap.
	b
		A variable to swap.

Description
	Swaps the value of two variables, including UDT instances (swaps all 
	data members).

	Since fbc version 1.20.0, because a fixed-length string fields of 
	STRING*N type no longer has a terminal null character, Swap will pad 
	values with spaces where one of the arguments is of the STRING*N type.

	Note: When the data are referenced by a pointer, alone or within a 
	descriptive structure (a UDT, for example), Swap only exchanges the 
	values of the pointers or the contents of the descriptive structures 
	without accessing data themselves.
	For var-len strings, Swap only exchanges the descriptors of the strings 
	rather than reallocate memory for exchange all strings data characters.
	For UDTs, Swap simply exchanges the contents of the structures, without 
	any operators or methods being called.

Example
	' using swap to order 2 numbers:
	Dim a As Integer, b As Integer

	Input "input a number: "; a
	Input "input another number: "; b
	If a > b Then Swap a, b
	Print "the numbers, in ascending order are:"
	Print a, b

Differences from QB
	* None

See also
	* KeyPgOpAssignmentOperator = (Assignment)

