1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
6 using System.Collections.Generic;
8 // Windows.Foundation.Collections.IMap`2, IMapView`2, and IKeyValuePair`2 cannot be referenced from
9 // managed code because they're hidden by the metadata adapter. We redeclare the interfaces manually
10 // to be able to talk to native WinRT objects.
12 namespace System.Runtime.InteropServices.WindowsRuntime
15 [Guid("3c2925fe-8519-45c1-aa79-197b6718c1c1")]
16 [WindowsRuntimeImport]
17 internal interface IMap<K, V> : IIterable<IKeyValuePair<K, V>>
22 IReadOnlyDictionary<K, V> GetView(); // Really an IMapView<K, V>
23 bool Insert(K key, V value);
29 [Guid("e480ce40-a338-4ada-adcf-272272e48cb9")]
30 [WindowsRuntimeImport]
31 internal interface IMapView<K, V> : IIterable<IKeyValuePair<K, V>>
36 void Split(out IMapView<K, V>? first, out IMapView<K, V>? second);
40 [Guid("02b51929-c1c4-4a7e-8940-0312b5c18500")]
41 [WindowsRuntimeImport]
42 internal interface IKeyValuePair<K, V>