Files
2026-01-27 23:46:02 -08:00

104 lines
3.7 KiB
C++

// 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<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVector> {
using type = interface_category;
};
template <>
struct category<
winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> {
using type = interface_category;
};
template <>
struct category<winrt::Microsoft::Windows::AI::Foundation::EmbeddingVector> {
using type = class_category;
};
template <>
inline constexpr auto&
name_v<winrt::Microsoft::Windows::AI::Foundation::EmbeddingVector> =
L"Microsoft.Windows.AI.Foundation.EmbeddingVector";
template <>
inline constexpr auto&
name_v<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVector> =
L"Microsoft.Windows.AI.Foundation.IEmbeddingVector";
template <>
inline constexpr auto&
name_v<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> =
L"Microsoft.Windows.AI.Foundation.IEmbeddingVectorFactory";
template <>
inline constexpr auto&
name_v<winrt::Microsoft::Windows::AI::Foundation::AIFoundationContract> =
L"Microsoft.Windows.AI.Foundation.AIFoundationContract";
template <>
inline constexpr guid
guid_v<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVector>{
0x07BDAA90,
0xB3D2,
0x5701,
{0x97, 0xD1, 0xC3, 0x90, 0xEC, 0x62, 0x79,
0x9C}}; // 07BDAA90-B3D2-5701-97D1-C390EC62799C
template <>
inline constexpr guid
guid_v<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory>{
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<winrt::Microsoft::Windows::AI::Foundation::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<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> {
struct WINRT_IMPL_NOVTABLE type : inspectable_abi {
virtual int32_t __stdcall CreateInstance(uint32_t, float*, winrt::guid,
void**) noexcept = 0;
};
};
template <typename D>
struct consume_Microsoft_Windows_AI_Foundation_IEmbeddingVector {
auto GetValues(array_view<float> values) const;
[[nodiscard]] auto Size() const;
[[nodiscard]] auto VectorSpaceId() const;
};
template <>
struct consume<winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVector> {
template <typename D>
using type = consume_Microsoft_Windows_AI_Foundation_IEmbeddingVector<D>;
};
template <typename D>
struct consume_Microsoft_Windows_AI_Foundation_IEmbeddingVectorFactory {
auto CreateInstance(array_view<float const> data,
winrt::guid const& vectorSpaceID) const;
};
template <>
struct consume<
winrt::Microsoft::Windows::AI::Foundation::IEmbeddingVectorFactory> {
template <typename D>
using type =
consume_Microsoft_Windows_AI_Foundation_IEmbeddingVectorFactory<D>;
};
} // namespace winrt::impl
#endif