Prototype
E_RTN EMemory::Empty( void );

Cette fonction redimensionne l'espace de travail à 0 octet de mémoire allouée (le pointeur m_pBuffer reste valide, différent de NULL). L'objet est, après appel de cette fonction, vide.

Les octets désalloués de l'espace de travail ne sont pas nettoyés.

Cette fonction a le même résultat que l'appel de la fonction SizeSet avec pour argument 0 (SizeSet( 0 ); ).

 

Argument

aucun.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Redimensionnement de l'espace de travail à 0 octet, puis libération de l'espace de travail avec reinitialisation d'un objet EMemory alloué de 5 octets contenant les données 0x41, 0x42, 0x43, 0x44 et 0x45 ("ABCDE" en ASCII).

Code :

EMemory eMem( "ABCDE", 5 ); // objet EMemory alloué de 5 octets

eMem.TraceEx( _T("eMem") );
eMem.Empty();
eMem.TraceEx( _T("eMem") );
eMem.Free();
eMem.TraceEx( _T("eMem") );

Sortie :

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

### Object EMemory 'eMem' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x00000004', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

Vue :


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

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
 
 

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
 
 

 

Voir aussi
void EMemory::Free( void );
ulonglong EMemory::SizeGet( void );
E_RTN EMemory::SizeGet( ulonglong *pullSize, ulonglong ullOffset );
E_RTN EMemory::SizeSet( ulonglong ullNewSize );
E_RTN EMemory::SizeSet( ulonglong ullNewSize, uchar ucByteToFill );
E_RTN EMemory::SizeSet( ulonglong ullNewSize, void *pBlockToFill, ulonglong ullBlockToFillSize );

 

Minimum
Version 1.0.0