Prototype
BOOL EValue::MaskSuppressEx( T tMaskToSuppress );

Cette fonction applique le masque tMaskToSuppress sur la variable membre m_tValue en utilisant les opérateurs de bits & et ~.

Cette fonction se différencie de la fonction EValue::MaskSuppress car elle retourne TRUE ou FALSE si la variable membre m_tValue a été modifiée par l'appel.

 

Argument

T tMaskToSuppress

valeur à appliquer comme masque des opérateurs de bits & et ~.

 

Retour

BOOL

si la variable membre m_tValue est différente d'avant l'appel de la fonction, elle retourne TRUE, sinon FALSE.

 

Exemple

Description :

• Instancier un objet EValue de type ushort initialisé avec la valeur 0xFFFFF (11111111 11111111),
• Supprimer le masque de bits 0x0FF0(00001111 11110000) avec stockage de la valeur de retour,
• Supprimer le masque de bits 0x00F0(00000000 11110000) avec stockage de la valeur de retour,
• Afficher si la première application du masque de bits a modifié l'objet eValue,
• Afficher si la seconde application du masque de bits a modifié l'objet eValue.

Code :

EValue <ushort> eValue( 0xFFFF );
BOOL bChange0, bChange1;
TCHAR *psztNoYes[]={ _T("Non"), _T("Oui") };

eValue.TraceEx( _T("eValue") );
bChange0 = eValue.MaskSuppressEx( 0x0FF0 );
eValue.TraceEx( _T("eValue") );
bChange1 = eValue.MaskSuppressEx( 0x00F0 );
eValue.TraceEx( _T("eValue") );

ETrace::DoEx( _T("Changement lors du premier appel de la fonction MaskSuppressEx = %s.\n"), psztNoYes[bChange0] );
ETrace::DoEx( _T("Changement lors du second appel de la fonction MaskSuppressEx = %s.\n"), psztNoYes[bChange1] );

Sortie :

### Object EValue 'eValue' Trace #
# Object address='0x0012F480', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='-1'(signed) '65535'(unsigned), Hexadecimal='0xFFFF'.
# Binary = 11111111 11111111
# Equal. = ======== ========
# Pos maj= 00000000 00000000
# Pos min= FEDCBA98 76543210
### End #

### Object EValue 'eValue' Trace #
# Object address='0x0012F480', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='-4081'(signed) '61455'(unsigned), Hexadecimal='0xF00F'.
# Binary = 11110000 00001111
# Equal. = ======== ========
# Pos maj= 00000000 00000000
# Pos min= FEDCBA98 76543210
### End #

### Object EValue 'eValue' Trace #
# Object address='0x0012F480', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='-4081'(signed) '61455'(unsigned), Hexadecimal='0xF00F'.
# Binary = 11110000 00001111
# Equal. = ======== ========
# Pos maj= 00000000 00000000
# Pos min= FEDCBA98 76543210
### End #

Changement lors du premier appel de la fonction MaskSuppressEx = Oui.
Changement lors du second appel de la fonction MaskSuppressEx = Non.

Vue :

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

Champs de bits

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Valeur originale

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

Champs de bits

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Valeur originale
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 Suppression 0FF0
1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 Résultat

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

Champs de bits

1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 Valeur originale
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 Suppression 00F0
1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 Résultat

 

Voir aussi
void EValue::MaskSuppress( T tMaskToSuppress );

 

Minimum
Version 1.0.0