rust_macios/foundation/
ns_mutable_dictionary.rs

1use std::{borrow::Borrow, collections::HashMap, marker::PhantomData};
2
3use objc::{class, msg_send, sel, sel_impl};
4
5use crate::{
6    object,
7    objective_c_runtime::{
8        id,
9        traits::{FromId, PNSObject},
10    },
11};
12
13use super::{
14    INSDictionary, Int, Int16, Int32, Int8, NSArray, NSDictionary, NSNumber, NSString, UInt,
15    UInt16, UInt32, UInt8,
16};
17
18object! {
19    /// A dynamic collection of objects associated with unique keys.
20    unsafe pub struct NSMutableDictionary<K,V> {
21        _key: PhantomData<K>,
22        _value: PhantomData<V>,
23    }
24}
25
26/// A dynamic collection of objects associated with unique keys.
27pub trait INSMutableDictionary<K, V>: INSDictionary<K, V> {
28    /* Creating and Initializing a Mutable Dictionary
29     */
30
31    /// Creates and returns a mutable dictionary, initially giving it enough allocated memory to hold a given number of entries.
32    fn tm_dictionary_with_capacity(capacity: UInt) -> Self
33    where
34        Self: Sized + FromId,
35    {
36        unsafe { Self::from_id(msg_send![Self::m_class(), dictionaryWithCapacity: capacity]) }
37    }
38
39    /* Adding Entries to a Mutable Dictionary
40     */
41
42    /// Adds a given key-value pair to the dictionary.
43    fn im_set_object_for_key(&mut self, key: K, value: V)
44    where
45        K: PNSObject,
46        V: PNSObject,
47    {
48        unsafe { msg_send![self.m_self(), setObject: value forKey: key] }
49    }
50
51    /// Adds a given key-value pair to the dictionary.
52    fn im_set_object_forkeyed_superscript(&mut self, key: K, value: V)
53    where
54        K: Into<id>,
55        V: Into<id>,
56    {
57        unsafe { msg_send![self.m_self(), setObject: value forKeyedSubscript: key] }
58    }
59
60    /// Adds a given key-value pair to the dictionary.
61    fn im_set_value_for_key(&mut self, key: K, value: V)
62    where
63        K: Into<NSString>,
64        V: Into<id>,
65    {
66        unsafe { msg_send![self.m_self(), setValue: value forKey: key] }
67    }
68
69    /// Adds to the receiving dictionary the entries from another dictionary.
70    fn im_add_entries_from_dictionary(&mut self, dictionary: NSDictionary<K, V>) {
71        unsafe { msg_send![self.m_self(), addEntriesFromDictionary: dictionary] }
72    }
73
74    /// Sets the contents of the receiving dictionary to entries in a given dictionary.
75    fn im_set_dictionary(&mut self, dictionary: NSDictionary<K, V>) {
76        unsafe { msg_send![self.m_self(), setDictionary: dictionary] }
77    }
78
79    /* Removing Entries From a Mutable Dictionary
80     */
81
82    /// Removes a given key and its associated value from the dictionary.
83    fn im_remove_object_for_key(&mut self, key: K)
84    where
85        K: Into<id>,
86    {
87        unsafe { msg_send![self.m_self(), removeObjectForKey: key.into()] }
88    }
89
90    /// Empties the dictionary of its entries.
91    fn im_remove_all_objects(&mut self) {
92        unsafe { msg_send![self.m_self(), removeAllObjects] }
93    }
94
95    /// Removes from the dictionary entries specified by elements in a given array.
96    fn im_remove_objects_for_keys(&mut self, keys: NSArray<K>)
97    where
98        K: PNSObject,
99    {
100        unsafe { msg_send![self.m_self(), removeObjectsForKeys: keys] }
101    }
102}
103
104impl<K, V> NSMutableDictionary<K, V> {
105    /// Creates a new empty dictionary.
106    pub fn new() -> Self {
107        Self::m_init()
108    }
109
110    /// Creates a new dictionary with the specified capacity.
111    pub fn with_capacity(capacity: UInt) -> Self {
112        Self::tm_dictionary_with_capacity(capacity)
113    }
114
115    /// Creates a new dictionary with the specified capacity and load factor.
116    pub fn insert(&mut self, key: K, value: V)
117    where
118        K: PNSObject,
119        V: PNSObject,
120    {
121        self.im_set_object_for_key(key, value)
122    }
123}
124
125impl<K, V> INSDictionary<K, V> for NSMutableDictionary<K, V> {}
126
127impl<K, V> INSMutableDictionary<K, V> for NSMutableDictionary<K, V> {}
128
129impl<K, V> Default for NSMutableDictionary<K, V> {
130    fn default() -> Self {
131        Self::tm_dictionary_with_capacity(0)
132    }
133}
134
135impl Borrow<NSDictionary<NSString, NSString>> for NSMutableDictionary<NSString, NSString> {
136    fn borrow(&self) -> &NSDictionary<NSString, NSString> {
137        unsafe { msg_send![self.m_self(), dictionaryWithDictionary: self] }
138    }
139}
140
141impl<K, V> From<NSDictionary<K, V>> for NSMutableDictionary<K, V>
142where
143    K: PNSObject,
144    V: PNSObject,
145{
146    fn from(dictionary: NSDictionary<K, V>) -> Self {
147        unsafe { Self::from_id(dictionary.m_self()) }
148    }
149}
150
151impl<K, V> From<UInt> for NSMutableDictionary<K, V>
152where
153    K: PNSObject,
154    V: PNSObject,
155{
156    fn from(capacity: UInt) -> Self {
157        unsafe {
158            Self::from_id(msg_send![
159                class!(NSMutableDictionary),
160                dictionaryWithCapacity: capacity
161            ])
162        }
163    }
164}
165
166impl<K, V> From<HashMap<K, V>> for NSMutableDictionary<K, V>
167where
168    K: PNSObject,
169    V: PNSObject,
170{
171    fn from(map: HashMap<K, V>) -> NSMutableDictionary<K, V> {
172        let mut dictionary = NSMutableDictionary::<K, V>::default();
173
174        for (key, value) in map {
175            dictionary.im_set_object_for_key(key, value);
176        }
177
178        dictionary
179    }
180}
181
182impl<K> From<HashMap<K, &str>> for NSMutableDictionary<K, NSString>
183where
184    K: PNSObject,
185{
186    fn from(map: HashMap<K, &str>) -> NSMutableDictionary<K, NSString> {
187        let mut dictionary = NSMutableDictionary::<K, NSString>::default();
188
189        for (key, value) in map {
190            let value = NSString::from(value);
191            dictionary.im_set_object_for_key(key, value);
192        }
193
194        dictionary
195    }
196}
197
198impl<V> From<HashMap<&str, V>> for NSMutableDictionary<NSString, V>
199where
200    V: PNSObject,
201{
202    fn from(map: HashMap<&str, V>) -> NSMutableDictionary<NSString, V> {
203        let mut dictionary = NSMutableDictionary::<NSString, V>::default();
204
205        for (key, value) in map {
206            let key = NSString::from(key);
207            dictionary.im_set_object_for_key(key, value);
208        }
209
210        dictionary
211    }
212}
213
214impl From<HashMap<&str, &str>> for NSMutableDictionary<NSString, NSString> {
215    fn from(map: HashMap<&str, &str>) -> NSMutableDictionary<NSString, NSString> {
216        let mut dictionary = NSMutableDictionary::<NSString, NSString>::default();
217
218        for (key, value) in map {
219            let key = NSString::from(key);
220            let value = NSString::from(value);
221            dictionary.im_set_object_for_key(key, value);
222        }
223
224        dictionary
225    }
226}
227
228impl From<HashMap<&str, UInt>> for NSMutableDictionary<NSString, NSNumber> {
229    fn from(map: HashMap<&str, UInt>) -> NSMutableDictionary<NSString, NSNumber> {
230        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
231
232        for (key, value) in map {
233            let key = NSString::from(key);
234            let value = NSNumber::from(value);
235            dictionary.im_set_object_for_key(key, value);
236        }
237
238        dictionary
239    }
240}
241
242impl From<HashMap<&str, UInt8>> for NSMutableDictionary<NSString, NSNumber> {
243    fn from(map: HashMap<&str, UInt8>) -> NSMutableDictionary<NSString, NSNumber> {
244        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
245
246        for (key, value) in map {
247            let key = NSString::from(key);
248            let value = NSNumber::from(value);
249            dictionary.im_set_object_for_key(key, value);
250        }
251
252        dictionary
253    }
254}
255
256impl From<HashMap<&str, UInt16>> for NSMutableDictionary<NSString, NSNumber> {
257    fn from(map: HashMap<&str, UInt16>) -> NSMutableDictionary<NSString, NSNumber> {
258        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
259
260        for (key, value) in map {
261            let key = NSString::from(key);
262            let value = NSNumber::from(value);
263            dictionary.im_set_object_for_key(key, value);
264        }
265
266        dictionary
267    }
268}
269
270impl From<HashMap<&str, UInt32>> for NSMutableDictionary<NSString, NSNumber> {
271    fn from(map: HashMap<&str, UInt32>) -> NSMutableDictionary<NSString, NSNumber> {
272        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
273
274        for (key, value) in map {
275            let key = NSString::from(key);
276            let value = NSNumber::from(value);
277            dictionary.im_set_object_for_key(key, value);
278        }
279
280        dictionary
281    }
282}
283
284impl From<HashMap<&str, Int>> for NSMutableDictionary<NSString, NSNumber> {
285    fn from(map: HashMap<&str, Int>) -> NSMutableDictionary<NSString, NSNumber> {
286        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
287
288        for (key, value) in map {
289            let key = NSString::from(key);
290            let value = NSNumber::from(value);
291            dictionary.im_set_object_for_key(key, value);
292        }
293
294        dictionary
295    }
296}
297
298impl From<HashMap<&str, Int8>> for NSMutableDictionary<NSString, NSNumber> {
299    fn from(map: HashMap<&str, Int8>) -> NSMutableDictionary<NSString, NSNumber> {
300        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
301
302        for (key, value) in map {
303            let key = NSString::from(key);
304            let value = NSNumber::from(value);
305            dictionary.im_set_object_for_key(key, value);
306        }
307
308        dictionary
309    }
310}
311
312impl From<HashMap<&str, Int16>> for NSMutableDictionary<NSString, NSNumber> {
313    fn from(map: HashMap<&str, Int16>) -> NSMutableDictionary<NSString, NSNumber> {
314        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
315
316        for (key, value) in map {
317            let key = NSString::from(key);
318            let value = NSNumber::from(value);
319            dictionary.im_set_object_for_key(key, value);
320        }
321
322        dictionary
323    }
324}
325
326impl From<HashMap<&str, Int32>> for NSMutableDictionary<NSString, NSNumber> {
327    fn from(map: HashMap<&str, Int32>) -> NSMutableDictionary<NSString, NSNumber> {
328        let mut dictionary = NSMutableDictionary::<NSString, NSNumber>::default();
329
330        for (key, value) in map {
331            let key = NSString::from(key);
332            let value = NSNumber::from(value);
333            dictionary.im_set_object_for_key(key, value);
334        }
335
336        dictionary
337    }
338}
339
340impl From<HashMap<UInt, &str>> for NSMutableDictionary<NSNumber, NSString> {
341    fn from(map: HashMap<UInt, &str>) -> NSMutableDictionary<NSNumber, NSString> {
342        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
343
344        for (key, value) in map {
345            let key = NSNumber::from(key);
346            let value = NSString::from(value);
347            dictionary.im_set_object_for_key(key, value);
348        }
349
350        dictionary
351    }
352}
353
354impl From<HashMap<UInt, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
355    fn from(map: HashMap<UInt, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
356        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
357
358        for (key, value) in map {
359            let key = NSNumber::from(key);
360            let value = NSNumber::from(value);
361            dictionary.im_set_object_for_key(key, value);
362        }
363
364        dictionary
365    }
366}
367
368impl From<HashMap<UInt, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
369    fn from(map: HashMap<UInt, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
370        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
371
372        for (key, value) in map {
373            let key = NSNumber::from(key);
374            let value = NSNumber::from(value);
375            dictionary.im_set_object_for_key(key, value);
376        }
377
378        dictionary
379    }
380}
381
382impl From<HashMap<UInt, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
383    fn from(map: HashMap<UInt, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
384        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
385
386        for (key, value) in map {
387            let key = NSNumber::from(key);
388            let value = NSNumber::from(value);
389            dictionary.im_set_object_for_key(key, value);
390        }
391
392        dictionary
393    }
394}
395
396impl From<HashMap<UInt, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
397    fn from(map: HashMap<UInt, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
398        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
399
400        for (key, value) in map {
401            let key = NSNumber::from(key);
402            let value = NSNumber::from(value);
403            dictionary.im_set_object_for_key(key, value);
404        }
405
406        dictionary
407    }
408}
409
410impl From<HashMap<UInt, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
411    fn from(map: HashMap<UInt, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
412        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
413
414        for (key, value) in map {
415            let key = NSNumber::from(key);
416            let value = NSNumber::from(value);
417            dictionary.im_set_object_for_key(key, value);
418        }
419
420        dictionary
421    }
422}
423
424impl From<HashMap<UInt, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
425    fn from(map: HashMap<UInt, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
426        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
427
428        for (key, value) in map {
429            let key = NSNumber::from(key);
430            let value = NSNumber::from(value);
431            dictionary.im_set_object_for_key(key, value);
432        }
433
434        dictionary
435    }
436}
437
438impl From<HashMap<UInt, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
439    fn from(map: HashMap<UInt, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
440        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
441
442        for (key, value) in map {
443            let key = NSNumber::from(key);
444            let value = NSNumber::from(value);
445            dictionary.im_set_object_for_key(key, value);
446        }
447
448        dictionary
449    }
450}
451
452impl From<HashMap<UInt, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
453    fn from(map: HashMap<UInt, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
454        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
455
456        for (key, value) in map {
457            let key = NSNumber::from(key);
458            let value = NSNumber::from(value);
459            dictionary.im_set_object_for_key(key, value);
460        }
461
462        dictionary
463    }
464}
465
466impl From<HashMap<UInt8, &str>> for NSMutableDictionary<NSNumber, NSString> {
467    fn from(map: HashMap<UInt8, &str>) -> NSMutableDictionary<NSNumber, NSString> {
468        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
469
470        for (key, value) in map {
471            let key = NSNumber::from(key);
472            let value = NSString::from(value);
473            dictionary.im_set_object_for_key(key, value);
474        }
475
476        dictionary
477    }
478}
479
480impl From<HashMap<UInt8, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
481    fn from(map: HashMap<UInt8, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
482        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
483
484        for (key, value) in map {
485            let key = NSNumber::from(key);
486            let value = NSNumber::from(value);
487            dictionary.im_set_object_for_key(key, value);
488        }
489
490        dictionary
491    }
492}
493
494impl From<HashMap<UInt8, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
495    fn from(map: HashMap<UInt8, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
496        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
497
498        for (key, value) in map {
499            let key = NSNumber::from(key);
500            let value = NSNumber::from(value);
501            dictionary.im_set_object_for_key(key, value);
502        }
503
504        dictionary
505    }
506}
507
508impl From<HashMap<UInt8, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
509    fn from(map: HashMap<UInt8, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
510        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
511
512        for (key, value) in map {
513            let key = NSNumber::from(key);
514            let value = NSNumber::from(value);
515            dictionary.im_set_object_for_key(key, value);
516        }
517
518        dictionary
519    }
520}
521
522impl From<HashMap<UInt8, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
523    fn from(map: HashMap<UInt8, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
524        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
525
526        for (key, value) in map {
527            let key = NSNumber::from(key);
528            let value = NSNumber::from(value);
529            dictionary.im_set_object_for_key(key, value);
530        }
531
532        dictionary
533    }
534}
535
536impl From<HashMap<UInt8, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
537    fn from(map: HashMap<UInt8, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
538        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
539
540        for (key, value) in map {
541            let key = NSNumber::from(key);
542            let value = NSNumber::from(value);
543            dictionary.im_set_object_for_key(key, value);
544        }
545
546        dictionary
547    }
548}
549
550impl From<HashMap<UInt8, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
551    fn from(map: HashMap<UInt8, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
552        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
553
554        for (key, value) in map {
555            let key = NSNumber::from(key);
556            let value = NSNumber::from(value);
557            dictionary.im_set_object_for_key(key, value);
558        }
559
560        dictionary
561    }
562}
563
564impl From<HashMap<UInt8, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
565    fn from(map: HashMap<UInt8, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
566        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
567
568        for (key, value) in map {
569            let key = NSNumber::from(key);
570            let value = NSNumber::from(value);
571            dictionary.im_set_object_for_key(key, value);
572        }
573
574        dictionary
575    }
576}
577
578impl From<HashMap<UInt8, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
579    fn from(map: HashMap<UInt8, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
580        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
581
582        for (key, value) in map {
583            let key = NSNumber::from(key);
584            let value = NSNumber::from(value);
585            dictionary.im_set_object_for_key(key, value);
586        }
587
588        dictionary
589    }
590}
591
592impl From<HashMap<UInt16, &str>> for NSMutableDictionary<NSNumber, NSString> {
593    fn from(map: HashMap<UInt16, &str>) -> NSMutableDictionary<NSNumber, NSString> {
594        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
595
596        for (key, value) in map {
597            let key = NSNumber::from(key);
598            let value = NSString::from(value);
599            dictionary.im_set_object_for_key(key, value);
600        }
601
602        dictionary
603    }
604}
605
606impl From<HashMap<UInt16, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
607    fn from(map: HashMap<UInt16, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
608        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
609
610        for (key, value) in map {
611            let key = NSNumber::from(key);
612            let value = NSNumber::from(value);
613            dictionary.im_set_object_for_key(key, value);
614        }
615
616        dictionary
617    }
618}
619
620impl From<HashMap<UInt16, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
621    fn from(map: HashMap<UInt16, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
622        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
623
624        for (key, value) in map {
625            let key = NSNumber::from(key);
626            let value = NSNumber::from(value);
627            dictionary.im_set_object_for_key(key, value);
628        }
629
630        dictionary
631    }
632}
633
634impl From<HashMap<UInt16, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
635    fn from(map: HashMap<UInt16, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
636        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
637
638        for (key, value) in map {
639            let key = NSNumber::from(key);
640            let value = NSNumber::from(value);
641            dictionary.im_set_object_for_key(key, value);
642        }
643
644        dictionary
645    }
646}
647
648impl From<HashMap<UInt16, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
649    fn from(map: HashMap<UInt16, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
650        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
651
652        for (key, value) in map {
653            let key = NSNumber::from(key);
654            let value = NSNumber::from(value);
655            dictionary.im_set_object_for_key(key, value);
656        }
657
658        dictionary
659    }
660}
661
662impl From<HashMap<UInt16, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
663    fn from(map: HashMap<UInt16, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
664        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
665
666        for (key, value) in map {
667            let key = NSNumber::from(key);
668            let value = NSNumber::from(value);
669            dictionary.im_set_object_for_key(key, value);
670        }
671
672        dictionary
673    }
674}
675
676impl From<HashMap<UInt16, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
677    fn from(map: HashMap<UInt16, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
678        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
679
680        for (key, value) in map {
681            let key = NSNumber::from(key);
682            let value = NSNumber::from(value);
683            dictionary.im_set_object_for_key(key, value);
684        }
685
686        dictionary
687    }
688}
689
690impl From<HashMap<UInt16, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
691    fn from(map: HashMap<UInt16, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
692        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
693
694        for (key, value) in map {
695            let key = NSNumber::from(key);
696            let value = NSNumber::from(value);
697            dictionary.im_set_object_for_key(key, value);
698        }
699
700        dictionary
701    }
702}
703
704impl From<HashMap<UInt16, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
705    fn from(map: HashMap<UInt16, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
706        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
707
708        for (key, value) in map {
709            let key = NSNumber::from(key);
710            let value = NSNumber::from(value);
711            dictionary.im_set_object_for_key(key, value);
712        }
713
714        dictionary
715    }
716}
717
718impl From<HashMap<UInt32, &str>> for NSMutableDictionary<NSNumber, NSString> {
719    fn from(map: HashMap<UInt32, &str>) -> NSMutableDictionary<NSNumber, NSString> {
720        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
721
722        for (key, value) in map {
723            let key = NSNumber::from(key);
724            let value = NSString::from(value);
725            dictionary.im_set_object_for_key(key, value);
726        }
727
728        dictionary
729    }
730}
731
732impl From<HashMap<UInt32, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
733    fn from(map: HashMap<UInt32, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
734        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
735
736        for (key, value) in map {
737            let key = NSNumber::from(key);
738            let value = NSNumber::from(value);
739            dictionary.im_set_object_for_key(key, value);
740        }
741
742        dictionary
743    }
744}
745
746impl From<HashMap<UInt32, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
747    fn from(map: HashMap<UInt32, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
748        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
749
750        for (key, value) in map {
751            let key = NSNumber::from(key);
752            let value = NSNumber::from(value);
753            dictionary.im_set_object_for_key(key, value);
754        }
755
756        dictionary
757    }
758}
759
760impl From<HashMap<UInt32, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
761    fn from(map: HashMap<UInt32, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
762        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
763
764        for (key, value) in map {
765            let key = NSNumber::from(key);
766            let value = NSNumber::from(value);
767            dictionary.im_set_object_for_key(key, value);
768        }
769
770        dictionary
771    }
772}
773
774impl From<HashMap<UInt32, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
775    fn from(map: HashMap<UInt32, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
776        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
777
778        for (key, value) in map {
779            let key = NSNumber::from(key);
780            let value = NSNumber::from(value);
781            dictionary.im_set_object_for_key(key, value);
782        }
783
784        dictionary
785    }
786}
787
788impl From<HashMap<UInt32, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
789    fn from(map: HashMap<UInt32, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
790        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
791
792        for (key, value) in map {
793            let key = NSNumber::from(key);
794            let value = NSNumber::from(value);
795            dictionary.im_set_object_for_key(key, value);
796        }
797
798        dictionary
799    }
800}
801
802impl From<HashMap<UInt32, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
803    fn from(map: HashMap<UInt32, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
804        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
805
806        for (key, value) in map {
807            let key = NSNumber::from(key);
808            let value = NSNumber::from(value);
809            dictionary.im_set_object_for_key(key, value);
810        }
811
812        dictionary
813    }
814}
815
816impl From<HashMap<UInt32, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
817    fn from(map: HashMap<UInt32, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
818        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
819
820        for (key, value) in map {
821            let key = NSNumber::from(key);
822            let value = NSNumber::from(value);
823            dictionary.im_set_object_for_key(key, value);
824        }
825
826        dictionary
827    }
828}
829
830impl From<HashMap<UInt32, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
831    fn from(map: HashMap<UInt32, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
832        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
833
834        for (key, value) in map {
835            let key = NSNumber::from(key);
836            let value = NSNumber::from(value);
837            dictionary.im_set_object_for_key(key, value);
838        }
839
840        dictionary
841    }
842}
843
844impl From<HashMap<Int, &str>> for NSMutableDictionary<NSNumber, NSString> {
845    fn from(map: HashMap<Int, &str>) -> NSMutableDictionary<NSNumber, NSString> {
846        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
847
848        for (key, value) in map {
849            let key = NSNumber::from(key);
850            let value = NSString::from(value);
851            dictionary.im_set_object_for_key(key, value);
852        }
853
854        dictionary
855    }
856}
857
858impl From<HashMap<Int, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
859    fn from(map: HashMap<Int, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
860        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
861
862        for (key, value) in map {
863            let key = NSNumber::from(key);
864            let value = NSNumber::from(value);
865            dictionary.im_set_object_for_key(key, value);
866        }
867
868        dictionary
869    }
870}
871
872impl From<HashMap<Int, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
873    fn from(map: HashMap<Int, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
874        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
875
876        for (key, value) in map {
877            let key = NSNumber::from(key);
878            let value = NSNumber::from(value);
879            dictionary.im_set_object_for_key(key, value);
880        }
881
882        dictionary
883    }
884}
885
886impl From<HashMap<Int, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
887    fn from(map: HashMap<Int, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
888        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
889
890        for (key, value) in map {
891            let key = NSNumber::from(key);
892            let value = NSNumber::from(value);
893            dictionary.im_set_object_for_key(key, value);
894        }
895
896        dictionary
897    }
898}
899
900impl From<HashMap<Int, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
901    fn from(map: HashMap<Int, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
902        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
903
904        for (key, value) in map {
905            let key = NSNumber::from(key);
906            let value = NSNumber::from(value);
907            dictionary.im_set_object_for_key(key, value);
908        }
909
910        dictionary
911    }
912}
913
914impl From<HashMap<Int, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
915    fn from(map: HashMap<Int, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
916        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
917
918        for (key, value) in map {
919            let key = NSNumber::from(key);
920            let value = NSNumber::from(value);
921            dictionary.im_set_object_for_key(key, value);
922        }
923
924        dictionary
925    }
926}
927
928impl From<HashMap<Int, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
929    fn from(map: HashMap<Int, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
930        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
931
932        for (key, value) in map {
933            let key = NSNumber::from(key);
934            let value = NSNumber::from(value);
935            dictionary.im_set_object_for_key(key, value);
936        }
937
938        dictionary
939    }
940}
941
942impl From<HashMap<Int, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
943    fn from(map: HashMap<Int, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
944        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
945
946        for (key, value) in map {
947            let key = NSNumber::from(key);
948            let value = NSNumber::from(value);
949            dictionary.im_set_object_for_key(key, value);
950        }
951
952        dictionary
953    }
954}
955
956impl From<HashMap<Int, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
957    fn from(map: HashMap<Int, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
958        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
959
960        for (key, value) in map {
961            let key = NSNumber::from(key);
962            let value = NSNumber::from(value);
963            dictionary.im_set_object_for_key(key, value);
964        }
965
966        dictionary
967    }
968}
969
970impl From<HashMap<Int8, &str>> for NSMutableDictionary<NSNumber, NSString> {
971    fn from(map: HashMap<Int8, &str>) -> NSMutableDictionary<NSNumber, NSString> {
972        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
973
974        for (key, value) in map {
975            let key = NSNumber::from(key);
976            let value = NSString::from(value);
977            dictionary.im_set_object_for_key(key, value);
978        }
979
980        dictionary
981    }
982}
983
984impl From<HashMap<Int8, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
985    fn from(map: HashMap<Int8, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
986        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
987
988        for (key, value) in map {
989            let key = NSNumber::from(key);
990            let value = NSNumber::from(value);
991            dictionary.im_set_object_for_key(key, value);
992        }
993
994        dictionary
995    }
996}
997
998impl From<HashMap<Int8, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
999    fn from(map: HashMap<Int8, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1000        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1001
1002        for (key, value) in map {
1003            let key = NSNumber::from(key);
1004            let value = NSNumber::from(value);
1005            dictionary.im_set_object_for_key(key, value);
1006        }
1007
1008        dictionary
1009    }
1010}
1011
1012impl From<HashMap<Int8, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
1013    fn from(map: HashMap<Int8, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1014        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1015
1016        for (key, value) in map {
1017            let key = NSNumber::from(key);
1018            let value = NSNumber::from(value);
1019            dictionary.im_set_object_for_key(key, value);
1020        }
1021
1022        dictionary
1023    }
1024}
1025
1026impl From<HashMap<Int8, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
1027    fn from(map: HashMap<Int8, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1028        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1029
1030        for (key, value) in map {
1031            let key = NSNumber::from(key);
1032            let value = NSNumber::from(value);
1033            dictionary.im_set_object_for_key(key, value);
1034        }
1035
1036        dictionary
1037    }
1038}
1039
1040impl From<HashMap<Int8, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
1041    fn from(map: HashMap<Int8, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
1042        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1043
1044        for (key, value) in map {
1045            let key = NSNumber::from(key);
1046            let value = NSNumber::from(value);
1047            dictionary.im_set_object_for_key(key, value);
1048        }
1049
1050        dictionary
1051    }
1052}
1053
1054impl From<HashMap<Int8, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
1055    fn from(map: HashMap<Int8, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1056        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1057
1058        for (key, value) in map {
1059            let key = NSNumber::from(key);
1060            let value = NSNumber::from(value);
1061            dictionary.im_set_object_for_key(key, value);
1062        }
1063
1064        dictionary
1065    }
1066}
1067
1068impl From<HashMap<Int8, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
1069    fn from(map: HashMap<Int8, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1070        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1071
1072        for (key, value) in map {
1073            let key = NSNumber::from(key);
1074            let value = NSNumber::from(value);
1075            dictionary.im_set_object_for_key(key, value);
1076        }
1077
1078        dictionary
1079    }
1080}
1081
1082impl From<HashMap<Int8, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
1083    fn from(map: HashMap<Int8, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1084        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1085
1086        for (key, value) in map {
1087            let key = NSNumber::from(key);
1088            let value = NSNumber::from(value);
1089            dictionary.im_set_object_for_key(key, value);
1090        }
1091
1092        dictionary
1093    }
1094}
1095
1096impl From<HashMap<Int16, &str>> for NSMutableDictionary<NSNumber, NSString> {
1097    fn from(map: HashMap<Int16, &str>) -> NSMutableDictionary<NSNumber, NSString> {
1098        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
1099
1100        for (key, value) in map {
1101            let key = NSNumber::from(key);
1102            let value = NSString::from(value);
1103            dictionary.im_set_object_for_key(key, value);
1104        }
1105
1106        dictionary
1107    }
1108}
1109
1110impl From<HashMap<Int16, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
1111    fn from(map: HashMap<Int16, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
1112        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1113
1114        for (key, value) in map {
1115            let key = NSNumber::from(key);
1116            let value = NSNumber::from(value);
1117            dictionary.im_set_object_for_key(key, value);
1118        }
1119
1120        dictionary
1121    }
1122}
1123
1124impl From<HashMap<Int16, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
1125    fn from(map: HashMap<Int16, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1126        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1127
1128        for (key, value) in map {
1129            let key = NSNumber::from(key);
1130            let value = NSNumber::from(value);
1131            dictionary.im_set_object_for_key(key, value);
1132        }
1133
1134        dictionary
1135    }
1136}
1137
1138impl From<HashMap<Int16, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
1139    fn from(map: HashMap<Int16, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1140        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1141
1142        for (key, value) in map {
1143            let key = NSNumber::from(key);
1144            let value = NSNumber::from(value);
1145            dictionary.im_set_object_for_key(key, value);
1146        }
1147
1148        dictionary
1149    }
1150}
1151
1152impl From<HashMap<Int16, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
1153    fn from(map: HashMap<Int16, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1154        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1155
1156        for (key, value) in map {
1157            let key = NSNumber::from(key);
1158            let value = NSNumber::from(value);
1159            dictionary.im_set_object_for_key(key, value);
1160        }
1161
1162        dictionary
1163    }
1164}
1165
1166impl From<HashMap<Int16, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
1167    fn from(map: HashMap<Int16, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
1168        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1169
1170        for (key, value) in map {
1171            let key = NSNumber::from(key);
1172            let value = NSNumber::from(value);
1173            dictionary.im_set_object_for_key(key, value);
1174        }
1175
1176        dictionary
1177    }
1178}
1179
1180impl From<HashMap<Int16, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
1181    fn from(map: HashMap<Int16, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1182        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1183
1184        for (key, value) in map {
1185            let key = NSNumber::from(key);
1186            let value = NSNumber::from(value);
1187            dictionary.im_set_object_for_key(key, value);
1188        }
1189
1190        dictionary
1191    }
1192}
1193
1194impl From<HashMap<Int16, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
1195    fn from(map: HashMap<Int16, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1196        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1197
1198        for (key, value) in map {
1199            let key = NSNumber::from(key);
1200            let value = NSNumber::from(value);
1201            dictionary.im_set_object_for_key(key, value);
1202        }
1203
1204        dictionary
1205    }
1206}
1207
1208impl From<HashMap<Int16, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
1209    fn from(map: HashMap<Int16, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1210        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1211
1212        for (key, value) in map {
1213            let key = NSNumber::from(key);
1214            let value = NSNumber::from(value);
1215            dictionary.im_set_object_for_key(key, value);
1216        }
1217
1218        dictionary
1219    }
1220}
1221
1222impl From<HashMap<Int32, &str>> for NSMutableDictionary<NSNumber, NSString> {
1223    fn from(map: HashMap<Int32, &str>) -> NSMutableDictionary<NSNumber, NSString> {
1224        let mut dictionary = NSMutableDictionary::<NSNumber, NSString>::default();
1225
1226        for (key, value) in map {
1227            let key = NSNumber::from(key);
1228            let value = NSString::from(value);
1229            dictionary.im_set_object_for_key(key, value);
1230        }
1231
1232        dictionary
1233    }
1234}
1235
1236impl From<HashMap<Int32, UInt>> for NSMutableDictionary<NSNumber, NSNumber> {
1237    fn from(map: HashMap<Int32, UInt>) -> NSMutableDictionary<NSNumber, NSNumber> {
1238        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1239
1240        for (key, value) in map {
1241            let key = NSNumber::from(key);
1242            let value = NSNumber::from(value);
1243            dictionary.im_set_object_for_key(key, value);
1244        }
1245
1246        dictionary
1247    }
1248}
1249
1250impl From<HashMap<Int32, UInt8>> for NSMutableDictionary<NSNumber, NSNumber> {
1251    fn from(map: HashMap<Int32, UInt8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1252        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1253
1254        for (key, value) in map {
1255            let key = NSNumber::from(key);
1256            let value = NSNumber::from(value);
1257            dictionary.im_set_object_for_key(key, value);
1258        }
1259
1260        dictionary
1261    }
1262}
1263
1264impl From<HashMap<Int32, UInt16>> for NSMutableDictionary<NSNumber, NSNumber> {
1265    fn from(map: HashMap<Int32, UInt16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1266        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1267
1268        for (key, value) in map {
1269            let key = NSNumber::from(key);
1270            let value = NSNumber::from(value);
1271            dictionary.im_set_object_for_key(key, value);
1272        }
1273
1274        dictionary
1275    }
1276}
1277
1278impl From<HashMap<Int32, UInt32>> for NSMutableDictionary<NSNumber, NSNumber> {
1279    fn from(map: HashMap<Int32, UInt32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1280        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1281
1282        for (key, value) in map {
1283            let key = NSNumber::from(key);
1284            let value = NSNumber::from(value);
1285            dictionary.im_set_object_for_key(key, value);
1286        }
1287
1288        dictionary
1289    }
1290}
1291
1292impl From<HashMap<Int32, Int>> for NSMutableDictionary<NSNumber, NSNumber> {
1293    fn from(map: HashMap<Int32, Int>) -> NSMutableDictionary<NSNumber, NSNumber> {
1294        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1295
1296        for (key, value) in map {
1297            let key = NSNumber::from(key);
1298            let value = NSNumber::from(value);
1299            dictionary.im_set_object_for_key(key, value);
1300        }
1301
1302        dictionary
1303    }
1304}
1305
1306impl From<HashMap<Int32, Int8>> for NSMutableDictionary<NSNumber, NSNumber> {
1307    fn from(map: HashMap<Int32, Int8>) -> NSMutableDictionary<NSNumber, NSNumber> {
1308        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1309
1310        for (key, value) in map {
1311            let key = NSNumber::from(key);
1312            let value = NSNumber::from(value);
1313            dictionary.im_set_object_for_key(key, value);
1314        }
1315
1316        dictionary
1317    }
1318}
1319
1320impl From<HashMap<Int32, Int16>> for NSMutableDictionary<NSNumber, NSNumber> {
1321    fn from(map: HashMap<Int32, Int16>) -> NSMutableDictionary<NSNumber, NSNumber> {
1322        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1323
1324        for (key, value) in map {
1325            let key = NSNumber::from(key);
1326            let value = NSNumber::from(value);
1327            dictionary.im_set_object_for_key(key, value);
1328        }
1329
1330        dictionary
1331    }
1332}
1333
1334impl From<HashMap<Int32, Int32>> for NSMutableDictionary<NSNumber, NSNumber> {
1335    fn from(map: HashMap<Int32, Int32>) -> NSMutableDictionary<NSNumber, NSNumber> {
1336        let mut dictionary = NSMutableDictionary::<NSNumber, NSNumber>::default();
1337
1338        for (key, value) in map {
1339            let key = NSNumber::from(key);
1340            let value = NSNumber::from(value);
1341            dictionary.im_set_object_for_key(key, value);
1342        }
1343
1344        dictionary
1345    }
1346}