System::Collections::Generic::BaseDictionary klasse

BaseDictionary class

Implementeert gemeenschappelijke code voor verschillende dictionary-achtige datastructuren (bijv. Dictionary, SortedDictionary). Mag niet direct worden gebruikt, behalve voor overerving bij het definiëren van containers. Objecten van deze klasse mogen alleen worden gealloceerd met de System::MakeObject() functie. Maak nooit een instantie van dit type op de stack of met operator new, omdat dit leidt tot runtime‑fouten en/of assertiefouten. Wikkel deze klasse altijd in een System::SmartPtr pointer en gebruik deze pointer om deze als argument aan functies door te geven.

template<typename Map>class BaseDictionary : public System::Collections::Generic::IDictionary<Map::key_type, Map::mapped_type>
ParameterBeschrijving
KaartOnderliggende kaarttype.

Methoden

MethodeBeschrijving
_add_range(std::initializer_list<typename Map::value_type>)C++ specifiek.
Add(const key_t&, const mapped_t&) overrideVoegt een sleutel‑waarde‑paar toe aan het woordenboek.
BaseDictionary()Maakt een lege datastructuur.
BaseDictionary(int, const Args&…)Doorstuurconstructor om argumenten door te geven aan de onderliggende kaartconstructor.
BaseDictionary(BaseType *, const Args&…)Kopieerconstructor.
BaseDictionary(BaseType *)Kopieerconstructor.
begin() constRetourneert een iterator naar de KVPair-wrapper voor het sleutel‑waarde‑element van de container. Geïmplementeerd in C#‑stijl – de iterator moet het KVPair-object met de get_Key() en get_Value() interface retourneren. Als de container leeg is, is de geretourneerde iterator gelijk aan end().
cbegin() constRetourneert een iterator naar het eerste element van de container. Geïmplementeerd in STL‑stijl. Als de container leeg is, is de geretourneerde iterator gelijk aan end().
cend() constRetourneert een iterator naar het element dat volgt op het laatste element van de container. Geïmplementeerd in STL‑stijl. Dit element fungeert als een tijdelijke aanduiding; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
Clear() overrideVerwijdert alle elementen.
ContainsKey(const key_t&) const overrideControleert of de sleutel aanwezig is in het woordenboek.
ContainsValue(const mapped_t&)Controleert of de waarde aanwezig is in het woordenboek. Gebruikt operator == om waarden te vergelijken.
data()Onderliggende gegevensopslag‑toegang.
data() constOnderliggende gegevensopslag‑toegang.
end() constRetourneert een iterator naar de KVPair-wrapper voor het sleutel‑waarde‑element dat volgt op het laatste element van de container. Geïmplementeerd in C#‑stijl – de iterator moet het KVPair-object met de get_Key() en get_Value() interface retourneren. Dit element fungeert als een tijdelijke aanduiding; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
get_Count() const overrideHaalt het aantal elementen op.
virtual GetEnumerator()Maakt een enumerator‑instantie, moet worden geïmplementeerd door een subklasse.
GetValueOrDefault(const key_t&) const overrideRetourneert de waarde indien gevonden; of Value() anders.
GetValueOrDefault(const key_t&, const mapped_t&) const overrideRetourneert de waarde indien gevonden; of defaultValue anders.
GetValueOrNull(const key_t&) const overrideRetourneert de waarde indien gevonden; of null anders. Heeft alleen zin voor referentietypen.
idx_get(const key_t&) const overrideGet-functie met sleutel.
idx_set(const key_t&, mapped_t) overrideSet-functie met sleutel. Wijzigt of maakt een element aan.
virtual operator[](const key_t&)Accessor-functie.
Remove(const key_t&) overrideVerwijdert een specifieke sleutel uit het woordenboek.
SetTemplateWeakPtr(unsigned int) override
TryGetValue(const key_t&, mapped_t&) const overrideZoekt naar een waarde met sleutel en haalt deze op indien gevonden.
virtualizeBeginConstIterator() const overrideHaalt de implementatie van begin const iterator voor de huidige container op.
virtualizeBeginIterator() overrideHaalt de implementatie van begin iterator voor de huidige container op.
virtualizeEndConstIterator() const overrideHaalt de implementatie van end const iterator voor de huidige container op.
virtualizeEndIterator() overrideHaalt de implementatie van end iterator voor de huidige container op.

Typedefs

TypedefBeschrijving
BaseTypeGeïmplementeerde interface.
const_iteratorConst-iterator type.
iteratorIterator type.
KeyCollectionZorg ervoor dat we de juiste allocator gebruiken met het onderliggende opslagtype.
KVPairSleutel‑waarde‑paartype.
map_tIntern kaarttype.
ValueCollectionCollectie van waarden.

Zie ook