// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Windows_AI_FoundationInternal_0_H #define WINRT_Microsoft_Windows_AI_FoundationInternal_0_H WINRT_EXPORT namespace winrt::Microsoft::Windows::AI::FoundationInternal { struct IEmbeddingVector; struct IEmbeddingVectorFactory; struct EmbeddingVector; struct FoundationSessionContract; } namespace winrt::impl { template <> struct category< winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVector> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::Windows::AI::FoundationInternal::EmbeddingVector> { using type = class_category; }; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.FoundationInternal.EmbeddingVector"; template <> inline constexpr auto& name_v< winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVector> = L"Microsoft.Windows.AI.FoundationInternal.IEmbeddingVector"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.FoundationInternal.IEmbeddingVectorFactory"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.FoundationInternal.FoundationSessionContract"; template <> inline constexpr guid guid_v{ 0x75B628D0, 0xE83D, 0x5A96, {0xB1, 0x06, 0xD9, 0x73, 0x5E, 0x11, 0xFC, 0x7F}}; // 75B628D0-E83D-5A96-B106-D9735E11FC7F template <> inline constexpr guid guid_v< winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVectorFactory>{ 0xADDF2EF7, 0xD520, 0x5BBB, {0xA8, 0x15, 0x49, 0x12, 0x5C, 0x76, 0x4E, 0xE2}}; // ADDF2EF7-D520-5BBB-A815-49125C764EE2 template <> struct default_interface< winrt::Microsoft::Windows::AI::FoundationInternal::EmbeddingVector> { using type = winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVector; }; template <> struct abi< winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVector> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetValues(uint32_t, float*) noexcept = 0; virtual int32_t __stdcall get_Size(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_VectorSpaceId(winrt::guid*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateInstance(uint32_t, float*, winrt::guid, void**) noexcept = 0; }; }; template struct consume_Microsoft_Windows_AI_FoundationInternal_IEmbeddingVector { auto GetValues(array_view values) const; [[nodiscard]] auto Size() const; [[nodiscard]] auto VectorSpaceId() const; }; template <> struct consume< winrt::Microsoft::Windows::AI::FoundationInternal::IEmbeddingVector> { template using type = consume_Microsoft_Windows_AI_FoundationInternal_IEmbeddingVector; }; template struct consume_Microsoft_Windows_AI_FoundationInternal_IEmbeddingVectorFactory { auto CreateInstance(array_view data, winrt::guid const& vectorSpaceID) const; }; template <> struct consume { template using type = consume_Microsoft_Windows_AI_FoundationInternal_IEmbeddingVectorFactory< D>; }; } // namespace winrt::impl #endif