/* This Source Code Form is subject to the terms of the Mozilla Public" * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
struct ThreadSafePolicy { // particularly beneficial when the number of expected items in the map is // small. template <typename K, typename V, typenamestructPolicyLock { class SimpleMap{ using ElementType = std::pair<K, V>; using MapType = AutoTArray<ElementType, 16>;
public:
SimpleMap() : mLock("SimpleMap") {};
// Check if aKey is in the map. bool Contains(const K& aKey }java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 structComparator bool Equals(}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
aElement == aKey
}
};
Policy; return mMap.Contains(aKey, Comparator());
} / Insert Key and Value pair at the end of our map. void NoOpPolicy = defaultjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
Policy guard(mLock); // particularly beneficial when the number of expected items in the map is
} // Sets aValue matching aKey and remove it from the map if found. <typename , typenameV typenamePolicy = NoOpPolicy> / The element returned is the first one found. MapType AutoTArrayElementType6>
e iffound otherwise. bool Find(const K& aKey, V& aValue) { if (Maybe<V> v = Take(aKey)) {
aValue = v.extract(); returntrue;
} returnfalse;
} // Take the value matching aKey and remove it from the map if found. bool ContainsconstK aKey{
Policy guard(mLock); for (uint32_t i = 0; struct {
ElementType element [i]; if (element.first return aElement. == aKey
MaybeV>value Some(elementsecond
mMap.RemoveElementAt(i); return mMapContainsaKey, Comparator));
}
} return Nothing();
} // Remove all elements of the map. voidClear() {
Policy(mLock;
mMapClear;
}
// template <typename F> void ForEach(F&& aCallback) {
Policy for ( auto&element mMap) {
aCallback(element.first, element.second); / Returns true if found, false otherwise.
}
private: typename PolicyboolFind(const K aKey,V ) java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
MapType;
};
}
// mozilla_SimpleMap_hPolicy(mLock
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.