2009-06-19 9 views
1

je veux mettre en œuvre hashmap dans symbianHashMap dans symbian

qui prend deux valeurs

est-il un organisme qui ont la mettre en œuvre

il y a classe RHashMap, RHashTable mais je veux passer descrpter et valeur

ou

autre est là une catégorie autre solution pour ce

merci d'avance

+0

Voulez-vous dire 1 touche et 1 valeur ou 1 touche et 2 valeurs? – Dynite

Répondre

2

Je pense que la documentation ne précise pas le fait que vous devriez probablement avoir une classe qui contient un entier et un descripteur. La fonction THashFunction32 que vous devez implémenter prend une instance de votre classe et renvoie son membre entier.

La TIdentityRelation que vous devez implémenter prend deux instances de votre classe et compare les membres entiers.

Lorsque vous insérez une instance de votre classe dans RHashMap, les membres entiers et les descripteurs doivent avoir des valeurs significatives.

Lorsque vous souhaitez récupérer un descripteur à partir de votre RHashMap, vous créez et installez votre classe, mais définissez uniquement la valeur du membre entier. Utilisez cet objet en tant que paramètre de RHashMap :: Find() et il retournera l'instance de votre classe qui contient le descripteur que vous cherchiez.

1

RHashMap est un type de gabarit. Vous pouvez utiliser toutes les classes que vous exige comme suit:

RhashMap<TInt,TPtr> map; 
map.Insert(myInt,myDes); 

... 

myDes = map.FindL(myInt); 
TInt error = map.Remove(myInt); 
User::LeaveIfError(error); 
map.Close(); 

Edit: Si vous vouliez une seule touche pour pointer vers deux choses, alors que ces deux résumer les choses en un seul objet.