Prototype
E_RTN EMemory::SpaceSwap( ulonglong ullOffsetDest,
ulonglong ullOffsetSource );

Cette fonction intervertit l'octet situé à l'offset ullOffsetDest avec celui situé à l'offset ullOffsetSource.

 

Argument

ulonglong ullOffsetDest

offset de l'octet destination.

ulonglong ullOffsetSource

offset de l'octet source.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Interversion de l'octet situé à l'offset 1 et de l'octet à l'offset 4 d'un objet EMemory alloué de 6 octets d'espace de travail contenant les données 0x41, 0x42, 0x43, 0x44, 0x45 et 0x46 ("ABCDEF" en ASCII).

Code :

EMemory eMem( "ABCDEF", 6 ); // objet EMemory alloué de 6 octets

eMem.TraceEx( _T("eMem") );
eMem.ByteSwap( 1, 4 );
eMem.TraceEx( _T("eMem") );

Sortie :

### Object EMemory 'eMem' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='6' byte(s).
# Array data from offset '0x00000000' to offset '0x00000005', length=6 byte(s).
# Offset start 0x00000000 41 42 43 44 45 46 .. .. .. .. .. .. .. .. .. .. [ABCDEF]
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='6' byte(s).
# Array data from offset '0x00000000' to offset '0x00000005', length=6 byte(s).
# Offset start 0x00000000 41 45 43 44 42 46 .. .. .. .. .. .. .. .. .. .. [AECDBF]
### End #

Vue :

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03 04 05
  41
A
42
B
43
C
44
D
45
E
46
F

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03 04 05
  41
A
45
E
43
C
44
D
42
B
46
F

 

Voir aussi
E_RTN EMemory::SpaceSwap( ulonglong ullOffsetDest, ulonglong ullOffsetSource, ulonglong ullOffsetDestSourceSize );
E_RTN EMemory::SpaceSwap( ulonglong ullOffsetDest, ulonglong ullOffsetDestSize, ulonglong ullOffsetSource, ulonglong ullOffsetSourceSize );
E_RTN EMemory::SpaceSwapSymetric( ulonglong ullSpaceToSwapSize, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd );
E_RTN EMemory::SpaceSwapAdjacent( ulonglong ullSpaceToSwapSize, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd );

 

Minimum
Version 1.0.0