Fusion type for networking Dictionaries. Maximum capacity is fixed, and is set with the CapacityAttribute.
More...
Inherits IEnumerable< KeyValuePair< K, V >>, and INetworkDictionary.
|
bool | Add (K key, V value) |
| Adds a new key value pair to the Dictionary. If the key already exists, will return false. More...
|
|
void INetworkDictionary. | Add (object item) |
| Adds an item to the networked dictionary. More...
|
|
void | Clear () |
| Remove all entries from the Dictionary, and clear backing memory. More...
|
|
void | ClrEntry (int entry) |
|
bool | ContainsKey (K key) |
| Returns true if the Dictionary contains an entry for the given key. More...
|
|
bool | ContainsValue (V value, IEqualityComparer< V > equalityComparer=null) |
| Returns true if the Dictionary contains an entry value which compares as equal to given value. More...
|
|
int | Find (K key) |
|
V | Get (K key) |
| Returns the value for the given key. Will throw an error if the key is not found. More...
|
|
uint | GetBucketFromHashCode (int hash) |
|
Enumerator | GetEnumerator () |
| Returns an enumerator that iterates through the NetworkDictionary. More...
|
|
IEnumerator< KeyValuePair< K, V > > IEnumerable< KeyValuePair< K, V > >. | GetEnumerator () |
|
IEnumerator IEnumerable. | GetEnumerator () |
|
K | GetKey (int entry) |
|
int | GetKeyHashCode (K key) |
|
int | GetNxt (int entry) |
|
V | GetVal (int entry) |
|
int | Insert (K key, V val) |
|
| NetworkDictionary (int *data, int capacity, IElementReaderWriter< K > keyReaderWriter, IElementReaderWriter< V > valReaderWriter) |
| Initializes a new instance of the NetworkDictionary struct with the specified data, capacity, and reader/writers. More...
|
|
bool | Remove (K key) |
| Remove entry from Dictionary. More...
|
|
bool | Remove (K key, out V value) |
| Removes entry from Dictionary. If successful (key existed), returns true and the value of removed item. More...
|
|
V | Set (K key, V value) |
| Sets the value for the given key. Will add a new key if the key does not already exist. More...
|
|
void | SetKey (int entry, K key) |
|
void | SetNxt (int entry, int next) |
|
void | SetVal (int entry, V val) |
|
NetworkDictionaryReadOnly< K, V > | ToReadOnly () |
| Converts the current NetworkDictionary to a read-only version. More...
|
|
bool | TryGet (K key, out V value) |
| Attempts to get the value for a given key. If found, returns true. More...
|
|
|
int | _bucketsOffset |
|
int | _capacity |
|
int * | _data |
|
int | _entriesOffset |
|
int | _entryStride |
|
EqualityComparer< K > | _equalityComparer |
|
int | _keyOffset |
|
IElementReaderWriter< K > | _keyReaderWriter |
|
int | _nxtOffset |
|
int | _valOffset |
|
IElementReaderWriter< V > | _valReaderWriter |
|
|
int | _free [get, set] |
|
int | _freeCount [get, set] |
|
int | _usedCount [get, set] |
|
int | Capacity [get] |
| The maximum number of entries this dictionary may contain. More...
|
|
int | Count [get] |
| Current number of key/value entries in the Dictionary. More...
|
|
V | this[K key] [get, set] |
| Key indexer. Gets/Sets value for specified key. More...
|
|
Fusion type for networking Dictionaries. Maximum capacity is fixed, and is set with the CapacityAttribute.
Typical Usage: [Networked, Capacity(10)]
NetworkDictionary<int, float> syncedDict => default;
Usage for modifying data: var dict = syncedDict; dict.Add(5, 123); dict[5] = 456; dict.Remove(5);
- Template Parameters
-
◆ NetworkDictionary()
Initializes a new instance of the NetworkDictionary struct with the specified data, capacity, and reader/writers.
- Parameters
-
data | The pointer to the data of the dictionary. |
capacity | The capacity of the dictionary. |
keyReaderWriter | The reader/writer for the keys of the dictionary. |
valReaderWriter | The reader/writer for the values of the dictionary. |
◆ Add() [1/2]
bool Add |
( |
K |
key, |
|
|
V |
value |
|
) |
| |
Adds a new key value pair to the Dictionary. If the key already exists, will return false.
◆ Add() [2/2]
void INetworkDictionary. Add |
( |
object |
item | ) |
|
Adds an item to the networked dictionary.
- Parameters
-
item | The item to add to the dictionary. |
Implements INetworkDictionary.
◆ Clear()
Remove all entries from the Dictionary, and clear backing memory.
◆ ContainsKey()
bool ContainsKey |
( |
K |
key | ) |
|
Returns true if the Dictionary contains an entry for the given key.
◆ ContainsValue()
bool ContainsValue |
( |
V |
value, |
|
|
IEqualityComparer< V > |
equalityComparer = null |
|
) |
| |
Returns true if the Dictionary contains an entry value which compares as equal to given value.
- Parameters
-
value | The value to compare against. |
equalityComparer | Specify custom IEqualityComparer to be used for compare. |
◆ Get()
Returns the value for the given key. Will throw an error if the key is not found.
◆ GetEnumerator()
◆ operator NetworkDictionaryReadOnly< K, V >()
◆ Remove() [1/2]
Remove entry from Dictionary.
- Parameters
-
- Returns
- Returns true if key was found.
◆ Remove() [2/2]
bool Remove |
( |
K |
key, |
|
|
out V |
value |
|
) |
| |
Removes entry from Dictionary. If successful (key existed), returns true and the value of removed item.
- Parameters
-
key | The key to remove. |
value | Returns value of removed item. Returns default value if key did not exist. |
- Returns
- Returns true if key was found.
◆ Set()
Sets the value for the given key. Will add a new key if the key does not already exist.
◆ ToReadOnly()
◆ TryGet()
bool TryGet |
( |
K |
key, |
|
|
out V |
value |
|
) |
| |
Attempts to get the value for a given key. If found, returns true.
- Parameters
-
key | The key to remove. |
value | Returns value of removed item. Returns default value if key did not exist. |
- Returns
- Returns true if key was found.
◆ META_WORD_COUNT
const int META_WORD_COUNT = 3 |
|
static |
◆ Capacity
The maximum number of entries this dictionary may contain.
◆ Count
Current number of key/value entries in the Dictionary.
◆ this[K key]
Key indexer. Gets/Sets value for specified key.