// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Windows_AI_Foundation_0_H #define WINRT_Microsoft_Windows_AI_Foundation_0_H WINRT_EXPORT namespace winrt::Microsoft::Windows::AI::Foundation { struct IEmbeddingVector; struct IEmbeddingVectorFactory; struct EmbeddingVector; struct AIFoundationContract; } namespace winrt::impl { template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> { using type = interface_category; }; template <> struct category { using type = class_category; }; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.Foundation.EmbeddingVector"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.Foundation.IEmbeddingVector"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.Foundation.IEmbeddingVectorFactory"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.Foundation.AIFoundationContract"; template <> inline constexpr guid guid_v{ 0x07BDAA90, 0xB3D2, 0x5701, {0x97, 0xD1, 0xC3, 0x90, 0xEC, 0x62, 0x79, 0x9C}}; // 07BDAA90-B3D2-5701-97D1-C390EC62799C template <> inline constexpr guid guid_v{ 0x16B72758, 0x2B69, 0x5E97, {0xB8, 0x65, 0x6A, 0x6A, 0x71, 0x68, 0x3D, 0xD0}}; // 16B72758-2B69-5E97-B865-6A6A71683DD0 template <> struct default_interface< winrt::Microsoft::Windows::AI::Foundation::EmbeddingVector> { using type = winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVector; }; template <> struct abi { 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_Foundation_IEmbeddingVector { auto GetValues(array_view values) const; [[nodiscard]] auto Size() const; [[nodiscard]] auto VectorSpaceId() const; }; template <> struct consume { template using type = consume_Microsoft_Windows_AI_Foundation_IEmbeddingVector; }; template struct consume_Microsoft_Windows_AI_Foundation_IEmbeddingVectorFactory { auto CreateInstance(array_view data, winrt::guid const& vectorSpaceID) const; }; template <> struct consume< winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> { template using type = consume_Microsoft_Windows_AI_Foundation_IEmbeddingVectorFactory; }; } // namespace winrt::impl #endif