TTErr TTDictionary::remove(const TTSymbol& key) { // TTValue v; // TTErr err; // err = mList->find(TTDictionaryFindKeyInList, key.rawpointer(), v); // if (!err) // mList->remove(v); // return mHashTable->remove(key); mMap.erase(key.getSymbolId()); return kTTErrNone; }
TTErr TTDictionary::append(const TTSymbol& key, const TTValue& value) { // TTValue v = new TTKeyVal(TTPtrSizedInt(&key), value); // lock(); remove(key); mMap.insert(TTDictionaryPair(key.getSymbolId(), value)); // unlock(); return kTTErrNone; // mList->append(v); // return mMap->append(key, value); return kTTErrNone; }
TTErr TTDictionary::lookup(const TTSymbol& key, TTValue& value) const { // return mHashTable->lookup(key, value); // lock(); // TTHashMap* theMap = (TTHashMap*)mHashMap; TTDictionaryMapIterK iter = mMap.find(key.getSymbolId()); // TTPtrSizedInt a = iter->first; // TTSymbol* b = (TTSymbol*)a; // TTValue v = iter->second; // TTValue v = (*theMap)[TTPtrSizedInt(&key)]; if (iter == mMap.end()) { // unlock(); return kTTErrValueNotFound; } else { value = iter->second; // unlock(); return kTTErrNone; } }