MagickCore 7.0.10
hashmap.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SmallHashmapSize   17
 
#define MediumHashmapSize   509
 
#define LargeHashmapSize   8191
 
#define HugeHashmapSize   131071
 

Typedefs

typedef struct _HashmapInfo HashmapInfo
 
typedef struct _LinkedListInfo LinkedListInfo
 

Functions

WizardExport HashmapInfoDestroyHashmap (HashmapInfo *)
 
WizardExport HashmapInfoNewHashmap (const size_t, size_t(*)(const void *), WizardBooleanType(*)(const void *, const void *), void *(*)(void *), void *(*)(void *))
 
WizardExport LinkedListInfoDestroyLinkedList (LinkedListInfo *, void *(*)(void *))
 
WizardExport LinkedListInfoNewLinkedList (const size_t)
 
WizardExport WizardBooleanType AppendValueToLinkedList (LinkedListInfo *, const void *)
 
WizardExport WizardBooleanType CompareHashmapString (const void *, const void *)
 
WizardExport WizardBooleanType CompareHashmapStringInfo (const void *, const void *)
 
WizardExport WizardBooleanType InsertValueInLinkedList (LinkedListInfo *, const size_t, const void *)
 
WizardExport WizardBooleanType InsertValueInSortedLinkedList (LinkedListInfo *, int(*)(const void *, const void *), void **, const void *)
 
WizardExport WizardBooleanType IsHashmapEmpty (const HashmapInfo *)
 
WizardExport WizardBooleanType IsLinkedListEmpty (const LinkedListInfo *)
 
WizardExport WizardBooleanType LinkedListToArray (LinkedListInfo *, void **)
 
WizardExport WizardBooleanType PutEntryInHashmap (HashmapInfo *, const void *, const void *)
 
WizardExport size_t HashPointerType (const void *)
 
WizardExport size_t HashStringType (const void *)
 
WizardExport size_t HashStringInfoType (const void *)
 
WizardExport size_t GetNumberOfElementsInLinkedList (const LinkedListInfo *)
 
WizardExport size_t GetNumberOfEntriesInHashmap (const HashmapInfo *)
 
WizardExport void ClearLinkedList (LinkedListInfo *, void *(*)(void *))
 
WizardExport void * GetLastValueInLinkedList (LinkedListInfo *)
 
WizardExport void * GetNextKeyInHashmap (HashmapInfo *)
 
WizardExport void * GetNextValueInHashmap (HashmapInfo *)
 
WizardExport void * GetNextValueInLinkedList (LinkedListInfo *)
 
WizardExport void * GetValueFromHashmap (HashmapInfo *, const void *)
 
WizardExport void * GetValueFromLinkedList (LinkedListInfo *, const size_t)
 
WizardExport void * RemoveElementByValueFromLinkedList (LinkedListInfo *, const void *)
 
WizardExport void * RemoveElementFromLinkedList (LinkedListInfo *, const size_t)
 
WizardExport void * RemoveEntryFromHashmap (HashmapInfo *, const void *)
 
WizardExport void * RemoveLastElementFromLinkedList (LinkedListInfo *)
 
WizardExport void ResetHashmapIterator (HashmapInfo *)
 
WizardExport void ResetLinkedListIterator (LinkedListInfo *)
 

Macro Definition Documentation

◆ HugeHashmapSize

#define HugeHashmapSize   131071

Definition at line 28 of file hashmap.h.

◆ LargeHashmapSize

#define LargeHashmapSize   8191

Definition at line 27 of file hashmap.h.

◆ MediumHashmapSize

#define MediumHashmapSize   509

Definition at line 26 of file hashmap.h.

◆ SmallHashmapSize

#define SmallHashmapSize   17

Definition at line 25 of file hashmap.h.

Typedef Documentation

◆ HashmapInfo

typedef struct _HashmapInfo HashmapInfo

Definition at line 31 of file hashmap.h.

◆ LinkedListInfo

Definition at line 34 of file hashmap.h.

Function Documentation

◆ AppendValueToLinkedList()

WizardExport WizardBooleanType AppendValueToLinkedList ( LinkedListInfo ,
const void *   
)

◆ ClearLinkedList()

WizardExport void ClearLinkedList ( LinkedListInfo ,
void *  *)(void * 
)

◆ CompareHashmapString()

WizardExport WizardBooleanType CompareHashmapString ( const void *  ,
const void *   
)

◆ CompareHashmapStringInfo()

WizardExport WizardBooleanType CompareHashmapStringInfo ( const void *  ,
const void *   
)

◆ DestroyHashmap()

WizardExport HashmapInfo * DestroyHashmap ( HashmapInfo )

◆ DestroyLinkedList()

WizardExport LinkedListInfo * DestroyLinkedList ( LinkedListInfo ,
void *  *)(void * 
)

◆ GetLastValueInLinkedList()

WizardExport void * GetLastValueInLinkedList ( LinkedListInfo )

◆ GetNextKeyInHashmap()

WizardExport void * GetNextKeyInHashmap ( HashmapInfo )

◆ GetNextValueInHashmap()

WizardExport void * GetNextValueInHashmap ( HashmapInfo )

◆ GetNextValueInLinkedList()

WizardExport void * GetNextValueInLinkedList ( LinkedListInfo )

◆ GetNumberOfElementsInLinkedList()

WizardExport size_t GetNumberOfElementsInLinkedList ( const LinkedListInfo )

◆ GetNumberOfEntriesInHashmap()

WizardExport size_t GetNumberOfEntriesInHashmap ( const HashmapInfo hashmap_info)

Definition at line 646 of file hashmap.c.

References _HashmapInfo::entries, _HashmapInfo::signature, and WizardSignature.

◆ GetValueFromHashmap()

WizardExport void * GetValueFromHashmap ( HashmapInfo ,
const void *   
)

◆ GetValueFromLinkedList()

WizardExport void * GetValueFromLinkedList ( LinkedListInfo ,
const size_t   
)

◆ HashPointerType()

WizardExport size_t HashPointerType ( const void *  )

◆ HashStringInfoType()

WizardExport size_t HashStringInfoType ( const void *  string)

Definition at line 941 of file hashmap.c.

References GetStringInfoDatum(), and GetStringInfoLength().

◆ HashStringType()

WizardExport size_t HashStringType ( const void *  )

◆ InsertValueInLinkedList()

WizardExport WizardBooleanType InsertValueInLinkedList ( LinkedListInfo ,
const size_t  ,
const void *   
)

◆ InsertValueInSortedLinkedList()

WizardExport WizardBooleanType InsertValueInSortedLinkedList ( LinkedListInfo ,
int(*)(const void *, const void *)  ,
void **  ,
const void *   
)

◆ IsHashmapEmpty()

WizardExport WizardBooleanType IsHashmapEmpty ( const HashmapInfo )

◆ IsLinkedListEmpty()

WizardExport WizardBooleanType IsLinkedListEmpty ( const LinkedListInfo )

◆ LinkedListToArray()

WizardExport WizardBooleanType LinkedListToArray ( LinkedListInfo ,
void **   
)

◆ NewHashmap()

WizardExport HashmapInfo * NewHashmap ( const size_t  ,
size_t(*)(const void *)  ,
WizardBooleanType(*)(const void *, const void *)  ,
void *  *)(void *,
void *  *)(void * 
)

◆ NewLinkedList()

◆ PutEntryInHashmap()

◆ RemoveElementByValueFromLinkedList()

WizardExport void * RemoveElementByValueFromLinkedList ( LinkedListInfo ,
const void *   
)

◆ RemoveElementFromLinkedList()

WizardExport void * RemoveElementFromLinkedList ( LinkedListInfo ,
const size_t   
)

◆ RemoveEntryFromHashmap()

WizardExport void * RemoveEntryFromHashmap ( HashmapInfo ,
const void *   
)

◆ RemoveLastElementFromLinkedList()

WizardExport void * RemoveLastElementFromLinkedList ( LinkedListInfo )

◆ ResetHashmapIterator()

WizardExport void ResetHashmapIterator ( HashmapInfo )

◆ ResetLinkedListIterator()