diff --git a/include/assoc.cpp b/include/assoc.cpp index 88c8f4847..0d5b3d267 100755 --- a/include/assoc.cpp +++ b/include/assoc.cpp @@ -219,11 +219,11 @@ TObject& TAssoc_array::find( // @mfunc Ritorna l'oggetto con chiave
// @rdesc Se l'oggetto esiste ne ritorna il puntatore, altrimenti ritorna NULL
TObject* TAssoc_array::objptr(
- const char* key) // @parm Chiave dell'oggetto da ritornare
+ const char* key) const // @parm Chiave dell'oggetto da ritornare
{
bool isnew = FALSE;
- THash_object* o = _lookup(key,isnew);
+ THash_object* o = ((TAssoc_array *)this)->_lookup(key,isnew);
if (o != NULL)
return o->_obj;
return NULL;
@@ -238,13 +238,10 @@ TObject* TAssoc_array::objptr(
// @flag TRUE | Se la chiave esiste
// @flag FALSE | Se la chiave non esiste
bool TAssoc_array::is_key(
- const char* key) // @parm Chiave da cercarne l'esistenza
+ const char* key) const // @parm Chiave da cercarne l'esistenza
-{
- bool isnew = FALSE;
- const THash_object* o = _lookup(key, isnew);
- if (o == NULL) return FALSE;
- return TRUE;
+{
+ return objptr(key) != NULL;
}
// @doc EXTERNAL
diff --git a/include/assoc.h b/include/assoc.h
index 945e49d77..7f759b8f1 100755
--- a/include/assoc.h
+++ b/include/assoc.h
@@ -113,10 +113,10 @@ public:
TObject& find(const char* key);
// @cmember Ritorna l'oggetto con chiave key
- TObject* objptr(const char* key);
+ TObject* objptr(const char* key) const ;
// @cmember Controlla l'esistenza di una chiave
- bool is_key(const char* key);
+ bool is_key(const char* key) const ;
// @cmember Ritorna l'indice del oggetto con chiave key (piu' intuitivo di