Objet EMemory
L'objet EMemory permet de gérer la mémoire.
Il est vivement conseillé de lire (voire de survoler) la partie Base en premier, elle renferme un concentré de certaines fonctionnalités et méthodes d'utilisation de l'objet.
Fichier include : e_memory.h ou INC_E_MEMORY
Activation pré-processeur : E_MEMORY
Version actuelle : 1.0.0
Pré-requis : 1.0.0 min
Objet inter-connectable : ETrace 1.0.0 min
Sommaire :
» Base
» Variable (1)
» Enumération (1)
» Structure (1)
» Constructeur (6)
» Destructeur (1)
» Opérateur (4)
» Version (12)
» Pointeur (13)
» Trace (3)
» Statut de l'objet (5)
» Statut de l'offset (2)
» Gestion de la taille (6)
» Ré-initialisation (1)
» Tapissage / Nettoyage (3)
» Copie (5)
» Recherche (4)
» Décompte (4)
» Invertion (5)
» Insertion (10)
» Concaténation (5)
» Suppression (6)
» Substitution (4)
» Déplacement (1)
Variable |
Variable Variable membre de l'objet. |
Enumération |
enum EMemory::<...> Enumération de valeurs constantes. |
Structure |
struct SC_BLOCK; Structure pour l'utilisation en simultané de plusieurs blocs d'octets. |
Constructeur |
EMemory( void ); Constructeur par défaut. |
EMemory( ulonglong ullSize ); Constructeur avec allocation d'un espace de travail non nettoyé. |
EMemory( ulonglong ullSize, uchar ucByteToFill ); Constructeur avec allocation d'un espace de travail nettoyé à l'aide d'un tapissage d'un octet. |
EMemory( ulonglong ullSize, void *pBlockToFill, ulonglong ullBlockToFillSize ); Constructeur avec allocation d'un espace de travail nettoyé à l'aide d'un tapissage d'un bloc d'octets. |
EMemory( void *pBlockToCopy, ulonglong ullBlockToCopySize ); Constructeur avec allocation d'un espace de travail pour y stocker un bloc d'octets. |
EMemory( EMemory &eMemory ); Constructeur de copie |
Destructeur |
~EMemory( void ); Destructeur. |
Opérateur |
EMemory& operator = ( EMemory &eMemory ); Opérateur de copie. |
EMemory& operator += ( EMemory &eMemory ); Opérateur de concaténation. |
uchar& operator [] ( ulonglong ullOffset ); Opérateur de valeur indexée. |
void* operator () ( ulonglong ullOffset ); Opérateur d'offset indexé. |
Version |
void VersionTrace( void ); Afficher les informations de version de la librairie en cours d'utilisation. |
long VersionMajorGet( void ); Récupérer le numéro de version majeur de la librairie en cours d'utilisation. |
long VersionMinorGet( void ); Récupérer le numéro de version mineur de la librairie en cours d'utilisation. |
long VersionRevisionGet( void ); Récupérer le numéro de version de révision de la librairie en cours d'utilisation. |
BOOL VersionDebugGet( void ); Récupérer si le mode de compilation est DEBUG. |
BOOL VersionReleaseGet( void ); Récupérer si le mode de compilation est RELEASE. |
BOOL VersionDynamicGet( void ); Récupérer si le mode de compilation est DYNAMIC. |
BOOL VersionStaticGet( void ); Récupérer si le mode de compilation est STATIC. |
BOOL VersionAsciiGet( void ); Récupérer si le mode de compilation est ASCII. |
BOOL VersionUnicodeGet( void ); Récupérer si le mode de compilation est UNICODE. |
BOOL Version32Get( void ); Récupérer si le mode de compilation est 32 bits. |
BOOL Version64Get( void ); Récupérer si le mode de compilation est 64 bits. |
Pointeur |
void* PointerGet( void ); Récupérer le pointeur, de type void, de l'espace de travail alloué. |
void* PointerVoidGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type void, de l'espace de travail alloué. |
char* PointerCharGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type char, de l'espace de travail alloué. |
uchar* PointerUCharGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type unsigned char, de l'espace de travail alloué. |
wchar_t* PointerWCharGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type wchar, de l'espace de travail alloué. |
short* PointerShortGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type short, de l'espace de travail alloué. |
ushort* PointerUShortGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type unsigned short, de l'espace de travail alloué. |
int* PointerIntGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type int, de l'espace de travail alloué. |
uint* PointerUIntGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type unsigned int, de l'espace de travail alloué. |
long* PointerLongGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type long, de l'espace de travail alloué. |
ulong* PointerULongGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type unsigned long, de l'espace de travail alloué. |
longlong* PointerLongLongGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type longlong, de l'espace de travail alloué. |
ulonglong* PointerULongLongGet( ulonglong ullOffset = 0 ); Récupérer le pointeur offsetisé, de type unsigned longlong, de l'espace de travail alloué. |
Trace |
Statut de l'objet |
BOOL ObjectStatusUnknownGet( void ); Récupérer si l'objet a le statut EMemory::ObjectStatus_Unknown (inconnu). |
BOOL ObjectStatusFreeGet( void ); Récupérer si l'objet a le statut EMemory::ObjectStatus_Free (vièrge). |
BOOL ObjectStatusEmptyGet( void ); Récupérer si l'objet a le statut EMemory::ObjectStatus_Empty (vide). |
BOOL ObjectStatusEnableGet( void ); Récupérer si l'objet a le statut EMemory::ObjectStatus_Enable (disponible). |
long ObjectStatusGet( void ); Récupérer le statut de l'objet (EMemory::ObjectStatus_...). |
Statut de l'offset |
long OffsetStatusGet( ulonglong ullOffset ); Récupérer le statut de l'offset. |
long OffsetStatusSizeGet( ulonglong ullOffset, ulonglong ullOffsetSize ); Récupérer le statut de l'offset et de son étendue. |
Taille |
ulonglong SizeGet( void ); Récupérer la taille de l'espace de travail. |
E_RTN SizeGet( ulonglong *pullSize, ulonglong ullOffset ); Récupérer la taille disponible depuis un offset jusqu'à la fin de l'espace de travail. |
E_RTN SizeSet( ulonglong ullNewSize ); Modifier la taille de l'espace de travail. |
E_RTN SizeSet( ulonglong ullNewSize, uchar ucByteToFill ); Modifier la taille de l'espace de travail en nettoyant les octets ajoutés ou supprimés à l'aide d'une valeur octale. |
E_RTN SizeSet( ulonglong ullNewSize, void *pBlockToFill, ulonglong ullBlockToFillSize ); Modifier la taille de l'espace de travail en nettoyant les octets ajoutés ou supprimés à l'aide d'un bloc d'octets. |
E_RTN Empty( void ); Modifier la taille de l'espace de travail à 0 octet. |
Ré-initialisation |
void Free( void ); Réinitialiser l'objet. |
Tapissage / Nettoyage |
E_RTN ZeroFill( void ); Tapissage à l'aide de la valeur octale 0x00. |
E_RTN ByteFill( uchar ucByteToFill, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd ); Tapissage à l'aide d'un valeur octale. |
E_RTN BlockFill( void *pBlockToFill, ulonglong ullBlockToFillSize, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd ); Tapissage à l'aide d'un bloc d'octets. |
Copie |
E_RTN ByteCopy( uchar ucByteToCopy, ulonglong ullOffset = 0 ); Copie d'un octet à un offset. |
E_RTN BlockCopy( void *pBlockToCopy, ulonglong ullBlockToCopySize, ulonglong ullOffset = 0 ); Copie du bloc d'octets à un offset. |
E_RTN ByteCopyExact( uchar ucByteToCopy ); Redimensionnement de l'espace de travail d'une taille d'un octet et copie de celui-ci. |
E_RTN BlockCopyExact( void *pBlockToCopy, ulonglong ullBlockToCopySize ); Redimensionnement de l'espace de travail de la taille d'un bloc d'octets et copie de celui-ci. |
E_RTN BlockCopyTo( void *pBlockDest, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd ); Copie d'une portion des données de l'objet dans un buffer externe. |
Recherche |
Décompte |
Invertion |
E_RTN SpaceSwap( ulonglong ullOffsetDest, ulonglong ullOffsetSource ); Invertion de deux espaces d'une taille d'un octet. |
E_RTN SpaceSwap( ulonglong ullOffsetDest, ulonglong ullOffsetSource, ulonglong ullOffsetDestSourceSize ); Invertion de deux espaces d'une même taille. |
E_RTN SpaceSwap( ulonglong ullOffsetDest, ulonglong ullOffsetDestSize, ulonglong ullOffsetSource, ulonglong ullOffsetSourceSize ); Invertion de deux espaces d'une taille différente. |
E_RTN SpaceSwapSymetric( ulonglong ullSpaceToSwapSize, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd ); Invertion des données symétriques d'un intervalle de travail. |
E_RTN SpaceSwapAdjacent( ulonglong ullSpaceToSwapSize, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd ); Invertion des données adjacentes d'un intervalle de travail. |
Insertion |
Concaténation |
E_RTN SpaceCat( ulonglong ullSpaceToCatSize ); Concaténation d'un espace non nettoyé. |
E_RTN SpaceCat( ulonglong ullSpaceToCatSize, uchar ucByteToFill ); Concaténation d'un espace nettoyé à l'aide d'un octet. |
E_RTN SpaceCat( ulonglong ullSpaceToCatSize, void *pBlockToFill, ulonglong ullBlockToFillSize ); Concaténation d'un espace nettoyé à l'aide d'un bloc d'octets. |
E_RTN ByteCat( uchar ucByteToCat ); Concaténation d'un octet. |
E_RTN BlockCat( void *pBlockToCat, ulonglong ullBlockToCatSize ); Concaténation d'un bloc d'octets. |
Suppression |
Substitution |
Déplacement |
E_RTN SpaceMove( ulonglong ullSpaceToMoveSize, ulonglong ullOffsetDest, ulonglong ullOffsetSource ); Déplacement d'un espace. |