Files
nearby/internal/platform/implementation/windows/generated/winrt/Microsoft.UI.Xaml.Data.h
T
2026-01-27 23:46:02 -08:00

4172 lines
176 KiB
C++

// WARNING: Please don't edit this file. It was generated by C++/WinRT
// v2.0.250303.1
#pragma once
#ifndef WINRT_Microsoft_UI_Xaml_Data_H
#define WINRT_Microsoft_UI_Xaml_Data_H
#include "winrt/base.h"
static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"),
"Mismatched C++/WinRT headers.");
#define CPPWINRT_VERSION "2.0.250303.1"
#include "winrt/Microsoft.UI.Xaml.h"
#include "winrt/impl/Microsoft.UI.Xaml.2.h"
#include "winrt/impl/Microsoft.UI.Xaml.Data.2.h"
#include "winrt/impl/Windows.Foundation.2.h"
#include "winrt/impl/Windows.Foundation.Collections.2.h"
#include "winrt/impl/Windows.UI.Xaml.Interop.2.h"
namespace winrt::impl {
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Path() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Path(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_Path(&value));
}
return winrt::Microsoft::UI::Xaml::PropertyPath{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Path(
winrt::Microsoft::UI::Xaml::PropertyPath const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Path(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_Path(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Mode() const {
winrt::Microsoft::UI::Xaml::Data::BindingMode value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->get_Mode(reinterpret_cast<int32_t*>(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(
_winrt_abi_type->get_Mode(reinterpret_cast<int32_t*>(&value)));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Mode(
winrt::Microsoft::UI::Xaml::Data::BindingMode const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Mode(static_cast<int32_t>(value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_Mode(static_cast<int32_t>(value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Source() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Source(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_Source(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Source(
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Source(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_Source(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::RelativeSource() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_RelativeSource(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_RelativeSource(&value));
}
return winrt::Microsoft::UI::Xaml::Data::RelativeSource{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::RelativeSource(
winrt::Microsoft::UI::Xaml::Data::RelativeSource const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_RelativeSource(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_RelativeSource(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ElementName() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ElementName(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_ElementName(&value));
}
return hstring{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ElementName(
param::hstring const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_ElementName(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_ElementName(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Converter() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Converter(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_Converter(&value));
}
return winrt::Microsoft::UI::Xaml::Data::IValueConverter{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::Converter(
winrt::Microsoft::UI::Xaml::Data::IValueConverter const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Converter(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_Converter(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ConverterParameter() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ConverterParameter(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_ConverterParameter(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ConverterParameter(
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_ConverterParameter(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_ConverterParameter(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ConverterLanguage() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ConverterLanguage(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_ConverterLanguage(&value));
}
return hstring{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::ConverterLanguage(
param::hstring const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_ConverterLanguage(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_ConverterLanguage(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::FallbackValue() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_FallbackValue(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_FallbackValue(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::FallbackValue(
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_FallbackValue(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_FallbackValue(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::TargetNullValue() const {
void* value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_TargetNullValue(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_TargetNullValue(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::TargetNullValue(
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_TargetNullValue(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->put_TargetNullValue(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::UpdateSourceTrigger() const {
winrt::Microsoft::UI::Xaml::Data::UpdateSourceTrigger value{};
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_UpdateSourceTrigger(
reinterpret_cast<int32_t*>(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(_winrt_abi_type->get_UpdateSourceTrigger(
reinterpret_cast<int32_t*>(&value)));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBinding<D>::UpdateSourceTrigger(
winrt::Microsoft::UI::Xaml::Data::UpdateSourceTrigger const& value) const {
if constexpr (!std::is_same_v<D,
winrt::Microsoft::UI::Xaml::Data::IBinding>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result =
impl::try_as_with_reason<winrt::Microsoft::UI::Xaml::Data::IBinding,
D const*>(static_cast<D const*>(this),
_winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBinding>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->put_UpdateSourceTrigger(static_cast<int32_t>(value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBinding>**)this;
check_hresult(
_winrt_abi_type->put_UpdateSourceTrigger(static_cast<int32_t>(value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingBaseFactory<D>::CreateInstance(
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingBaseFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::BindingBase{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingExpression<D>::DataItem() const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IBindingExpression>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingExpression, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingExpression>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_DataItem(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBindingExpression>**)this;
check_hresult(_winrt_abi_type->get_DataItem(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingExpression<D>::ParentBinding()
const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IBindingExpression>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingExpression, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingExpression>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ParentBinding(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBindingExpression>**)this;
check_hresult(_winrt_abi_type->get_ParentBinding(&value));
}
return winrt::Microsoft::UI::Xaml::Data::Binding{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingExpression<D>::UpdateSource()
const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IBindingExpression>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingExpression, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingExpression>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->UpdateSource());
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBindingExpression>**)this;
check_hresult(_winrt_abi_type->UpdateSource());
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingFactory<D>::CreateInstance(
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IBindingFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingFactory, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IBindingFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::Binding{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IBindingOperationsStatics<D>::SetBinding(
winrt::Microsoft::UI::Xaml::DependencyObject const& target,
winrt::Microsoft::UI::Xaml::DependencyProperty const& dp,
winrt::Microsoft::UI::Xaml::Data::BindingBase const& binding) const {
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IBindingOperationsStatics>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IBindingOperationsStatics, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IBindingOperationsStatics>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->SetBinding(
*(void**)(&target), *(void**)(&dp), *(void**)(&binding)));
} else {
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IBindingOperationsStatics>**)this;
check_hresult(_winrt_abi_type->SetBinding(
*(void**)(&target), *(void**)(&dp), *(void**)(&binding)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentItem() const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_CurrentItem(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_CurrentItem(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentPosition()
const {
int32_t value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_CurrentPosition(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_CurrentPosition(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::IsCurrentAfterLast()
const {
bool value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_IsCurrentAfterLast(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_IsCurrentAfterLast(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::IsCurrentBeforeFirst()
const {
bool value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_IsCurrentBeforeFirst(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_IsCurrentBeforeFirst(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CollectionGroups()
const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_CollectionGroups(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_CollectionGroups(&value));
}
return winrt::Windows::Foundation::Collections::IObservableVector<
winrt::Windows::Foundation::IInspectable>{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::HasMoreItems() const {
bool value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_HasMoreItems(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->get_HasMoreItems(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanged(
winrt::Windows::Foundation::EventHandler<
winrt::Windows::Foundation::IInspectable> const& handler) const {
winrt::event_token token{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->add_CurrentChanged(*(void**)(&handler),
put_abi(token)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->add_CurrentChanged(*(void**)(&handler),
put_abi(token)));
}
return token;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanged(
auto_revoke_t,
winrt::Windows::Foundation::EventHandler<
winrt::Windows::Foundation::IInspectable> const& handler) const {
return impl::make_event_revoker<D, CurrentChanged_revoker>(
this, CurrentChanged(handler));
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanged(
winrt::event_token const& token) const noexcept {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
_winrt_abi_type->remove_CurrentChanged(impl::bind_in(token));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
_winrt_abi_type->remove_CurrentChanged(impl::bind_in(token));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanging(
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventHandler const&
handler) const {
winrt::event_token token{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->add_CurrentChanging(*(void**)(&handler),
put_abi(token)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->add_CurrentChanging(*(void**)(&handler),
put_abi(token)));
}
return token;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanging(
auto_revoke_t,
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventHandler const&
handler) const {
return impl::make_event_revoker<D, CurrentChanging_revoker>(
this, CurrentChanging(handler));
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::CurrentChanging(
winrt::event_token const& token) const noexcept {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
_winrt_abi_type->remove_CurrentChanging(impl::bind_in(token));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
_winrt_abi_type->remove_CurrentChanging(impl::bind_in(token));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentTo(
winrt::Windows::Foundation::IInspectable const& item) const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentTo(*(void**)(&item), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentTo(*(void**)(&item), &result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentToPosition(
int32_t index) const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentToPosition(index, &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentToPosition(index, &result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentToFirst()
const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentToFirst(&result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentToFirst(&result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentToLast()
const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentToLast(&result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentToLast(&result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentToNext()
const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentToNext(&result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentToNext(&result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::MoveCurrentToPrevious()
const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->MoveCurrentToPrevious(&result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->MoveCurrentToPrevious(&result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionView<D>::LoadMoreItemsAsync(
uint32_t count) const {
void* operation{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionView, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionView>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->LoadMoreItemsAsync(count, &operation));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionView>**)this;
check_hresult(_winrt_abi_type->LoadMoreItemsAsync(count, &operation));
}
return winrt::Windows::Foundation::IAsyncOperation<
winrt::Microsoft::UI::Xaml::Data::LoadMoreItemsResult>{
operation, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewFactory<D>::CreateView()
const {
void* result{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateView(&result));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory>**)this;
check_hresult(_winrt_abi_type->CreateView(&result));
}
return winrt::Microsoft::UI::Xaml::Data::ICollectionView{
result, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewGroup<D>::Group() const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewGroup>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Group(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>**)this;
check_hresult(_winrt_abi_type->get_Group(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewGroup<D>::GroupItems()
const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewGroup>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_GroupItems(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>**)this;
check_hresult(_winrt_abi_type->get_GroupItems(&value));
}
return winrt::Windows::Foundation::Collections::IObservableVector<
winrt::Windows::Foundation::IInspectable>{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::Source() const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Source(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->get_Source(&value));
}
return winrt::Windows::Foundation::IInspectable{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::Source(
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Source(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->put_Source(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::View() const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_View(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->get_View(&value));
}
return winrt::Microsoft::UI::Xaml::Data::ICollectionView{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::IsSourceGrouped()
const {
bool value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_IsSourceGrouped(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->get_IsSourceGrouped(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::IsSourceGrouped(
bool value) const {
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_IsSourceGrouped(value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->put_IsSourceGrouped(value));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::ItemsPath()
const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ItemsPath(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->get_ItemsPath(&value));
}
return winrt::Microsoft::UI::Xaml::PropertyPath{value,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSource<D>::ItemsPath(
winrt::Microsoft::UI::Xaml::PropertyPath const& value) const {
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_ItemsPath(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>**)this;
check_hresult(_winrt_abi_type->put_ItemsPath(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSourceStatics<
D>::SourceProperty() const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_SourceProperty(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)this;
check_hresult(_winrt_abi_type->get_SourceProperty(&value));
}
return winrt::Microsoft::UI::Xaml::DependencyProperty{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSourceStatics<
D>::ViewProperty() const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ViewProperty(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)this;
check_hresult(_winrt_abi_type->get_ViewProperty(&value));
}
return winrt::Microsoft::UI::Xaml::DependencyProperty{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSourceStatics<
D>::IsSourceGroupedProperty() const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_IsSourceGroupedProperty(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)this;
check_hresult(_winrt_abi_type->get_IsSourceGroupedProperty(&value));
}
return winrt::Microsoft::UI::Xaml::DependencyProperty{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICollectionViewSourceStatics<
D>::ItemsPathProperty() const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_ItemsPathProperty(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICollectionViewSourceStatics>**)this;
check_hresult(_winrt_abi_type->get_ItemsPathProperty(&value));
}
return winrt::Microsoft::UI::Xaml::DependencyProperty{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICurrentChangingEventArgs<D>::Cancel()
const {
bool value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Cancel(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>**)this;
check_hresult(_winrt_abi_type->get_Cancel(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICurrentChangingEventArgs<D>::Cancel(
bool value) const {
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Cancel(value));
} else {
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>**)this;
check_hresult(_winrt_abi_type->put_Cancel(value));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICurrentChangingEventArgs<D>::IsCancelable()
const {
bool value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_IsCancelable(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>**)this;
check_hresult(_winrt_abi_type->get_IsCancelable(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICurrentChangingEventArgsFactory<D>::
CreateInstance(
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgsFactory,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICurrentChangingEventArgsFactory<D>::
CreateWithCancelableParameter(
bool isCancelable,
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgsFactory,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateWithCancelableParameter(
isCancelable, *(void**)(&baseInterface), impl::bind_out(innerInterface),
&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICurrentChangingEventArgsFactory>**)this;
check_hresult(_winrt_abi_type->CreateWithCancelableParameter(
isCancelable, *(void**)(&baseInterface), impl::bind_out(innerInterface),
&value));
}
return winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::Type() const {
winrt::Windows::UI::Xaml::Interop::TypeName value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Type(put_abi(value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->get_Type(put_abi(value)));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::Name() const {
void* value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Name(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->get_Name(&value));
}
return hstring{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::GetValue(
winrt::Windows::Foundation::IInspectable const& target) const {
void* result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->GetValue(*(void**)(&target), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->GetValue(*(void**)(&target), &result));
}
return winrt::Windows::Foundation::IInspectable{result,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::SetValue(
winrt::Windows::Foundation::IInspectable const& target,
winrt::Windows::Foundation::IInspectable const& value) const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->SetValue(*(void**)(&target), *(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(
_winrt_abi_type->SetValue(*(void**)(&target), *(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::GetIndexedValue(
winrt::Windows::Foundation::IInspectable const& target,
winrt::Windows::Foundation::IInspectable const& index) const {
void* result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->GetIndexedValue(*(void**)(&target),
*(void**)(&index), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->GetIndexedValue(*(void**)(&target),
*(void**)(&index), &result));
}
return winrt::Windows::Foundation::IInspectable{result,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::SetIndexedValue(
winrt::Windows::Foundation::IInspectable const& target,
winrt::Windows::Foundation::IInspectable const& value,
winrt::Windows::Foundation::IInspectable const& index) const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->SetIndexedValue(
*(void**)(&target), *(void**)(&value), *(void**)(&index)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->SetIndexedValue(
*(void**)(&target), *(void**)(&value), *(void**)(&index)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::CanWrite() const {
bool value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_CanWrite(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->get_CanWrite(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomProperty<D>::CanRead() const {
bool value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomProperty, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomProperty>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_CanRead(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>**)this;
check_hresult(_winrt_abi_type->get_CanRead(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomPropertyProvider<
D>::GetCustomProperty(param::hstring const& name) const {
void* result{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->GetCustomProperty(*(void**)(&name), &result));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>**)this;
check_hresult(
_winrt_abi_type->GetCustomProperty(*(void**)(&name), &result));
}
return winrt::Microsoft::UI::Xaml::Data::ICustomProperty{
result, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomPropertyProvider<
D>::GetIndexedProperty(param::hstring const& name,
winrt::Windows::UI::Xaml::Interop::TypeName const&
type) const {
void* result{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->GetIndexedProperty(
*(void**)(&name), impl::bind_in(type), &result));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>**)this;
check_hresult(_winrt_abi_type->GetIndexedProperty(
*(void**)(&name), impl::bind_in(type), &result));
}
return winrt::Microsoft::UI::Xaml::Data::ICustomProperty{
result, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomPropertyProvider<
D>::GetStringRepresentation() const {
void* result{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->GetStringRepresentation(&result));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>**)this;
check_hresult(_winrt_abi_type->GetStringRepresentation(&result));
}
return hstring{result, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ICustomPropertyProvider<D>::Type() const {
winrt::Windows::UI::Xaml::Interop::TypeName value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ICustomPropertyProvider>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Type(put_abi(value)));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>**)this;
check_hresult(_winrt_abi_type->get_Type(put_abi(value)));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IDataErrorsChangedEventArgs<
D>::PropertyName() const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgs,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_PropertyName(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>**)this;
check_hresult(_winrt_abi_type->get_PropertyName(&value));
}
return hstring{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IDataErrorsChangedEventArgs<
D>::PropertyName(param::hstring const& value) const {
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgs,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_PropertyName(*(void**)(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgs>**)this;
check_hresult(_winrt_abi_type->put_PropertyName(*(void**)(&value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IDataErrorsChangedEventArgsFactory<
D>::CreateInstance(param::hstring const& name) const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgsFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgsFactory,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgsFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&name), &value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgsFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&name), &value));
}
return winrt::Microsoft::UI::Xaml::Data::DataErrorsChangedEventArgs{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IItemIndexRange<D>::FirstIndex() const {
int32_t value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IItemIndexRange, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IItemIndexRange>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_FirstIndex(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>**)this;
check_hresult(_winrt_abi_type->get_FirstIndex(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IItemIndexRange<D>::Length() const {
uint32_t value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IItemIndexRange, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IItemIndexRange>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_Length(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>**)this;
check_hresult(_winrt_abi_type->get_Length(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IItemIndexRange<D>::LastIndex() const {
int32_t value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IItemIndexRange, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IItemIndexRange>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_LastIndex(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>**)this;
check_hresult(_winrt_abi_type->get_LastIndex(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IItemIndexRangeFactory<D>::CreateInstance(
int32_t firstIndex, uint32_t length,
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IItemIndexRangeFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
firstIndex, length, *(void**)(&baseInterface),
impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
firstIndex, length, *(void**)(&baseInterface),
impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::ItemIndexRange{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IItemsRangeInfo<D>::RangesChanged(
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const& visibleRange,
param::vector_view<winrt::Microsoft::UI::Xaml::Data::ItemIndexRange> const&
trackedItems) const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IItemsRangeInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->RangesChanged(*(void**)(&visibleRange),
*(void**)(&trackedItems)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo>**)this;
check_hresult(_winrt_abi_type->RangesChanged(*(void**)(&visibleRange),
*(void**)(&trackedItems)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyDataErrorInfo<D>::HasErrors() const {
bool value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyDataErrorInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_HasErrors(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>**)this;
check_hresult(_winrt_abi_type->get_HasErrors(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyDataErrorInfo<D>::ErrorsChanged(
winrt::Windows::Foundation::EventHandler<
winrt::Microsoft::UI::Xaml::Data::DataErrorsChangedEventArgs> const&
handler) const {
winrt::event_token token{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyDataErrorInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->add_ErrorsChanged(*(void**)(&handler),
put_abi(token)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>**)this;
check_hresult(_winrt_abi_type->add_ErrorsChanged(*(void**)(&handler),
put_abi(token)));
}
return token;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyDataErrorInfo<D>::ErrorsChanged(
auto_revoke_t,
winrt::Windows::Foundation::EventHandler<
winrt::Microsoft::UI::Xaml::Data::DataErrorsChangedEventArgs> const&
handler) const {
return impl::make_event_revoker<D, ErrorsChanged_revoker>(
this, ErrorsChanged(handler));
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyDataErrorInfo<D>::ErrorsChanged(
winrt::event_token const& token) const noexcept {
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyDataErrorInfo>**)&_winrt_casted_result;
_winrt_abi_type->remove_ErrorsChanged(impl::bind_in(token));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>**)this;
_winrt_abi_type->remove_ErrorsChanged(impl::bind_in(token));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyDataErrorInfo<D>::GetErrors(
param::hstring const& propertyName) const {
void* result{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyDataErrorInfo>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->GetErrors(*(void**)(&propertyName), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>**)this;
check_hresult(
_winrt_abi_type->GetErrors(*(void**)(&propertyName), &result));
}
return winrt::Windows::Foundation::Collections::IIterable<
winrt::Windows::Foundation::IInspectable>{result,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyPropertyChanged<D>::PropertyChanged(
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const&
handler) const {
winrt::event_token token{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyPropertyChanged>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->add_PropertyChanged(*(void**)(&handler),
put_abi(token)));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>**)this;
check_hresult(_winrt_abi_type->add_PropertyChanged(*(void**)(&handler),
put_abi(token)));
}
return token;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyPropertyChanged<D>::PropertyChanged(
auto_revoke_t,
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const&
handler) const {
return impl::make_event_revoker<D, PropertyChanged_revoker>(
this, PropertyChanged(handler));
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_INotifyPropertyChanged<D>::PropertyChanged(
winrt::event_token const& token) const noexcept {
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
INotifyPropertyChanged>**)&_winrt_casted_result;
_winrt_abi_type->remove_PropertyChanged(impl::bind_in(token));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>**)this;
_winrt_abi_type->remove_PropertyChanged(impl::bind_in(token));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IPropertyChangedEventArgs<D>::PropertyName()
const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IPropertyChangedEventArgs>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IPropertyChangedEventArgs>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_PropertyName(&value));
} else {
auto const _winrt_abi_type =
*(abi_t<
winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs>**)this;
check_hresult(_winrt_abi_type->get_PropertyName(&value));
}
return hstring{value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IPropertyChangedEventArgsFactory<D>::
CreateInstance(
param::hstring const& name,
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
IPropertyChangedEventArgsFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgsFactory,
D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IPropertyChangedEventArgsFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&name), *(void**)(&baseInterface),
impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IPropertyChangedEventArgsFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&name), *(void**)(&baseInterface),
impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventArgs{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IRelativeSource<D>::Mode() const {
winrt::Microsoft::UI::Xaml::Data::RelativeSourceMode value{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IRelativeSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IRelativeSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IRelativeSource>**)&_winrt_casted_result;
check_hresult(
_winrt_abi_type->get_Mode(reinterpret_cast<int32_t*>(&value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IRelativeSource>**)this;
check_hresult(
_winrt_abi_type->get_Mode(reinterpret_cast<int32_t*>(&value)));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IRelativeSource<D>::Mode(
winrt::Microsoft::UI::Xaml::Data::RelativeSourceMode const& value) const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IRelativeSource>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IRelativeSource, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IRelativeSource>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->put_Mode(static_cast<int32_t>(value)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IRelativeSource>**)this;
check_hresult(_winrt_abi_type->put_Mode(static_cast<int32_t>(value)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IRelativeSourceFactory<D>::CreateInstance(
winrt::Windows::Foundation::IInspectable const& baseInterface,
winrt::Windows::Foundation::IInspectable& innerInterface) const {
void* value{};
if constexpr (!std::is_same_v<
D,
winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IRelativeSourceFactory>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
} else {
auto const _winrt_abi_type = *(
abi_t<winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory>**)this;
check_hresult(_winrt_abi_type->CreateInstance(
*(void**)(&baseInterface), impl::bind_out(innerInterface), &value));
}
return winrt::Microsoft::UI::Xaml::Data::RelativeSource{
value, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISelectionInfo<D>::SelectRange(
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const& itemIndexRange)
const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISelectionInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISelectionInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->SelectRange(*(void**)(&itemIndexRange)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>**)this;
check_hresult(_winrt_abi_type->SelectRange(*(void**)(&itemIndexRange)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISelectionInfo<D>::DeselectRange(
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const& itemIndexRange)
const {
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISelectionInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISelectionInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->DeselectRange(*(void**)(&itemIndexRange)));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>**)this;
check_hresult(_winrt_abi_type->DeselectRange(*(void**)(&itemIndexRange)));
}
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISelectionInfo<D>::IsSelected(
int32_t index) const {
bool result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISelectionInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISelectionInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->IsSelected(index, &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>**)this;
check_hresult(_winrt_abi_type->IsSelected(index, &result));
}
return result;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISelectionInfo<D>::GetSelectedRanges()
const {
void* result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISelectionInfo, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISelectionInfo>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->GetSelectedRanges(&result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>**)this;
check_hresult(_winrt_abi_type->GetSelectedRanges(&result));
}
return winrt::Windows::Foundation::Collections::IVectorView<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange>{
result, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISupportIncrementalLoading<
D>::LoadMoreItemsAsync(uint32_t count) const {
void* operation{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISupportIncrementalLoading, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->LoadMoreItemsAsync(count, &operation));
} else {
auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>**)this;
check_hresult(_winrt_abi_type->LoadMoreItemsAsync(count, &operation));
}
return winrt::Windows::Foundation::IAsyncOperation<
winrt::Microsoft::UI::Xaml::Data::LoadMoreItemsResult>{
operation, take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_ISupportIncrementalLoading<
D>::HasMoreItems() const {
bool value{};
if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::ISupportIncrementalLoading, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->get_HasMoreItems(&value));
} else {
auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Xaml::Data::
ISupportIncrementalLoading>**)this;
check_hresult(_winrt_abi_type->get_HasMoreItems(&value));
}
return value;
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IValueConverter<D>::Convert(
winrt::Windows::Foundation::IInspectable const& value,
winrt::Windows::UI::Xaml::Interop::TypeName const& targetType,
winrt::Windows::Foundation::IInspectable const& parameter,
param::hstring const& language) const {
void* result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IValueConverter>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IValueConverter, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IValueConverter>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->Convert(
*(void**)(&value), impl::bind_in(targetType), *(void**)(&parameter),
*(void**)(&language), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IValueConverter>**)this;
check_hresult(_winrt_abi_type->Convert(
*(void**)(&value), impl::bind_in(targetType), *(void**)(&parameter),
*(void**)(&language), &result));
}
return winrt::Windows::Foundation::IInspectable{result,
take_ownership_from_abi};
}
template <typename D>
auto consume_Microsoft_UI_Xaml_Data_IValueConverter<D>::ConvertBack(
winrt::Windows::Foundation::IInspectable const& value,
winrt::Windows::UI::Xaml::Interop::TypeName const& targetType,
winrt::Windows::Foundation::IInspectable const& parameter,
param::hstring const& language) const {
void* result{};
if constexpr (!std::is_same_v<
D, winrt::Microsoft::UI::Xaml::Data::IValueConverter>) {
winrt::hresult _winrt_cast_result_code;
auto const _winrt_casted_result = impl::try_as_with_reason<
winrt::Microsoft::UI::Xaml::Data::IValueConverter, D const*>(
static_cast<D const*>(this), _winrt_cast_result_code);
check_hresult(_winrt_cast_result_code);
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::
IValueConverter>**)&_winrt_casted_result;
check_hresult(_winrt_abi_type->ConvertBack(
*(void**)(&value), impl::bind_in(targetType), *(void**)(&parameter),
*(void**)(&language), &result));
} else {
auto const _winrt_abi_type =
*(abi_t<winrt::Microsoft::UI::Xaml::Data::IValueConverter>**)this;
check_hresult(_winrt_abi_type->ConvertBack(
*(void**)(&value), impl::bind_in(targetType), *(void**)(&parameter),
*(void**)(&language), &result));
}
return winrt::Windows::Foundation::IInspectable{result,
take_ownership_from_abi};
}
template <typename H>
struct delegate<winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventHandler,
H>
final
: implements_delegate<
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventHandler, H> {
delegate(H&& handler)
: implements_delegate<
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventHandler, H>(
std::forward<H>(handler)) {}
int32_t __stdcall Invoke(void* sender, void* e) noexcept final try {
(*this)(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&sender),
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs const*>(
&e));
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename H>
struct delegate<winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler,
H>
final
: implements_delegate<
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler, H> {
delegate(H&& handler)
: implements_delegate<
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler, H>(
std::forward<H>(handler)) {}
int32_t __stdcall Invoke(void* sender, void* e) noexcept final try {
(*this)(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&sender),
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventArgs const*>(
&e));
return 0;
} catch (...) {
return to_hresult();
}
};
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBinding>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBinding> {
int32_t __stdcall get_Path(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::PropertyPath>(
this->shim().Path());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Path(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Path(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::PropertyPath const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Mode(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::BindingMode>(
this->shim().Mode());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Mode(int32_t value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Mode(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::Data::BindingMode const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Source(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().Source());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Source(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Source(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_RelativeSource(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::RelativeSource>(
this->shim().RelativeSource());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_RelativeSource(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().RelativeSource(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::RelativeSource const*>(&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ElementName(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<hstring>(this->shim().ElementName());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_ElementName(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().ElementName(*reinterpret_cast<hstring const*>(&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Converter(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::IValueConverter>(
this->shim().Converter());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Converter(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Converter(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::IValueConverter const*>(&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ConverterParameter(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().ConverterParameter());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_ConverterParameter(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().ConverterParameter(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ConverterLanguage(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<hstring>(this->shim().ConverterLanguage());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_ConverterLanguage(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().ConverterLanguage(*reinterpret_cast<hstring const*>(&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_FallbackValue(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().FallbackValue());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_FallbackValue(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().FallbackValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_TargetNullValue(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().TargetNullValue());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_TargetNullValue(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().TargetNullValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_UpdateSourceTrigger(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::UpdateSourceTrigger>(
this->shim().UpdateSourceTrigger());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_UpdateSourceTrigger(int32_t value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().UpdateSourceTrigger(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::UpdateSourceTrigger const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingBase>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBindingBase> {};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory> {
int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::BindingBase>(
this->shim().CreateInstance(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingExpression>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBindingExpression> {
int32_t __stdcall get_DataItem(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().DataItem());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ParentBinding(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::Binding>(
this->shim().ParentBinding());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall UpdateSource() noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().UpdateSource();
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBase>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBase> {};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D,
winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBaseFactory>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBaseFactory> {
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingExpressionFactory>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::IBindingExpressionFactory> {};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingFactory>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBindingFactory> {
int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::Binding>(
this->shim().CreateInstance(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingOperations>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IBindingOperations> {};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IBindingOperationsStatics>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::IBindingOperationsStatics> {
int32_t __stdcall SetBinding(void* target, void* dp,
void* binding) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().SetBinding(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::DependencyObject const*>(
&target),
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::DependencyProperty const*>(&dp),
*reinterpret_cast<winrt::Microsoft::UI::Xaml::Data::BindingBase const*>(
&binding));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICollectionView>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::ICollectionView> {
int32_t __stdcall get_CurrentItem(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().CurrentItem());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_CurrentPosition(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<int32_t>(this->shim().CurrentPosition());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_IsCurrentAfterLast(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().IsCurrentAfterLast());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_IsCurrentBeforeFirst(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().IsCurrentBeforeFirst());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_CollectionGroups(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value =
detach_from<winrt::Windows::Foundation::Collections::IObservableVector<
winrt::Windows::Foundation::IInspectable>>(
this->shim().CollectionGroups());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_HasMoreItems(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().HasMoreItems());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall add_CurrentChanged(void* handler,
winrt::event_token* token) noexcept final
try {
zero_abi<winrt::event_token>(token);
typename D::abi_guard guard(this->shim());
*token = detach_from<winrt::event_token>(this->shim().CurrentChanged(
*reinterpret_cast<winrt::Windows::Foundation::EventHandler<
winrt::Windows::Foundation::IInspectable> const*>(&handler)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall remove_CurrentChanged(
winrt::event_token token) noexcept final {
typename D::abi_guard guard(this->shim());
this->shim().CurrentChanged(
*reinterpret_cast<winrt::event_token const*>(&token));
return 0;
}
int32_t __stdcall add_CurrentChanging(
void* handler, winrt::event_token* token) noexcept final try {
zero_abi<winrt::event_token>(token);
typename D::abi_guard guard(this->shim());
*token = detach_from<winrt::event_token>(this->shim().CurrentChanging(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::Data::
CurrentChangingEventHandler const*>(&handler)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall remove_CurrentChanging(
winrt::event_token token) noexcept final {
typename D::abi_guard guard(this->shim());
this->shim().CurrentChanging(
*reinterpret_cast<winrt::event_token const*>(&token));
return 0;
}
int32_t __stdcall MoveCurrentTo(void* item, bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentTo(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&item)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall MoveCurrentToPosition(int32_t index,
bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentToPosition(index));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall MoveCurrentToFirst(bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentToFirst());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall MoveCurrentToLast(bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentToLast());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall MoveCurrentToNext(bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentToNext());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall MoveCurrentToPrevious(bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().MoveCurrentToPrevious());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall LoadMoreItemsAsync(uint32_t count,
void** operation) noexcept final try {
clear_abi(operation);
typename D::abi_guard guard(this->shim());
*operation = detach_from<winrt::Windows::Foundation::IAsyncOperation<
winrt::Microsoft::UI::Xaml::Data::LoadMoreItemsResult>>(
this->shim().LoadMoreItemsAsync(count));
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory> {
int32_t __stdcall CreateView(void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Microsoft::UI::Xaml::Data::ICollectionView>(
this->shim().CreateView());
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup> {
int32_t __stdcall get_Group(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().Group());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_GroupItems(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value =
detach_from<winrt::Windows::Foundation::Collections::IObservableVector<
winrt::Windows::Foundation::IInspectable>>(
this->shim().GroupItems());
return 0;
} catch (...) {
return to_hresult();
}
};
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource> {
int32_t __stdcall get_Source(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().Source());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Source(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Source(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_View(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::ICollectionView>(
this->shim().View());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_IsSourceGrouped(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().IsSourceGrouped());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_IsSourceGrouped(bool value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().IsSourceGrouped(value);
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ItemsPath(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::PropertyPath>(
this->shim().ItemsPath());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_ItemsPath(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().ItemsPath(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::PropertyPath const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D,
winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics> {
int32_t __stdcall get_SourceProperty(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::DependencyProperty>(
this->shim().SourceProperty());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ViewProperty(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::DependencyProperty>(
this->shim().ViewProperty());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_IsSourceGroupedProperty(void** value) noexcept final
try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::DependencyProperty>(
this->shim().IsSourceGroupedProperty());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_ItemsPathProperty(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::DependencyProperty>(
this->shim().ItemsPathProperty());
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs> {
int32_t __stdcall get_Cancel(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().Cancel());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Cancel(bool value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Cancel(value);
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_IsCancelable(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().IsCancelable());
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<
D, winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgsFactory>
: produce_base<
D,
winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgsFactory> {
int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs>(
this->shim().CreateInstance(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall CreateWithCancelableParameter(bool isCancelable,
void* baseInterface,
void** innerInterface,
void** value) noexcept final
try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs>(
this->shim().CreateWithCancelableParameter(
isCancelable,
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::ICustomProperty> {
int32_t __stdcall get_Type(
struct struct_Windows_UI_Xaml_Interop_TypeName* value) noexcept final
try {
zero_abi<winrt::Windows::UI::Xaml::Interop::TypeName>(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::UI::Xaml::Interop::TypeName>(
this->shim().Type());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Name(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<hstring>(this->shim().Name());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall GetValue(void* target, void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().GetValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&target)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall SetValue(void* target, void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().SetValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&target),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall GetIndexedValue(void* target, void* index,
void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Windows::Foundation::IInspectable>(
this->shim().GetIndexedValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&target),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&index)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall SetIndexedValue(void* target, void* value,
void* index) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().SetIndexedValue(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&target),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&index));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_CanWrite(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().CanWrite());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_CanRead(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().CanRead());
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider> {
int32_t __stdcall GetCustomProperty(void* name, void** result) noexcept final
try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>(
this->shim().GetCustomProperty(
*reinterpret_cast<hstring const*>(&name)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall GetIndexedProperty(
void* name, struct struct_Windows_UI_Xaml_Interop_TypeName type,
void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>(
this->shim().GetIndexedProperty(
*reinterpret_cast<hstring const*>(&name),
*reinterpret_cast<
winrt::Windows::UI::Xaml::Interop::TypeName const*>(&type)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall GetStringRepresentation(void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<hstring>(this->shim().GetStringRepresentation());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Type(
struct struct_Windows_UI_Xaml_Interop_TypeName* value) noexcept final
try {
zero_abi<winrt::Windows::UI::Xaml::Interop::TypeName>(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Windows::UI::Xaml::Interop::TypeName>(
this->shim().Type());
return 0;
} catch (...) {
return to_hresult();
}
};
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgs>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgs> {
int32_t __stdcall get_PropertyName(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<hstring>(this->shim().PropertyName());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_PropertyName(void* value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().PropertyName(*reinterpret_cast<hstring const*>(&value));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<
D, winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgsFactory>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::
IDataErrorsChangedEventArgsFactory> {
int32_t __stdcall CreateInstance(void* name, void** value) noexcept final
try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<
winrt::Microsoft::UI::Xaml::Data::DataErrorsChangedEventArgs>(
this->shim().CreateInstance(*reinterpret_cast<hstring const*>(&name)));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange> {
int32_t __stdcall get_FirstIndex(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<int32_t>(this->shim().FirstIndex());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_Length(uint32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<uint32_t>(this->shim().Length());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_LastIndex(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<int32_t>(this->shim().LastIndex());
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory> {
int32_t __stdcall CreateInstance(int32_t firstIndex, uint32_t length,
void* baseInterface, void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::ItemIndexRange>(
this->shim().CreateInstance(
firstIndex, length,
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo> {
int32_t __stdcall RangesChanged(void* visibleRange,
void* trackedItems) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().RangesChanged(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const*>(
&visibleRange),
*reinterpret_cast<winrt::Windows::Foundation::Collections::IVectorView<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange> const*>(
&trackedItems));
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo> {
int32_t __stdcall get_HasErrors(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().HasErrors());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall add_ErrorsChanged(void* handler,
winrt::event_token* token) noexcept final
try {
zero_abi<winrt::event_token>(token);
typename D::abi_guard guard(this->shim());
*token = detach_from<winrt::event_token>(this->shim().ErrorsChanged(
*reinterpret_cast<winrt::Windows::Foundation::EventHandler<
winrt::Microsoft::UI::Xaml::Data::
DataErrorsChangedEventArgs> const*>(&handler)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall remove_ErrorsChanged(
winrt::event_token token) noexcept final {
typename D::abi_guard guard(this->shim());
this->shim().ErrorsChanged(
*reinterpret_cast<winrt::event_token const*>(&token));
return 0;
}
int32_t __stdcall GetErrors(void* propertyName, void** result) noexcept final
try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Windows::Foundation::Collections::IIterable<
winrt::Windows::Foundation::IInspectable>>(
this->shim().GetErrors(
*reinterpret_cast<hstring const*>(&propertyName)));
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged> {
int32_t __stdcall add_PropertyChanged(
void* handler, winrt::event_token* token) noexcept final try {
zero_abi<winrt::event_token>(token);
typename D::abi_guard guard(this->shim());
*token = detach_from<winrt::event_token>(this->shim().PropertyChanged(
*reinterpret_cast<winrt::Microsoft::UI::Xaml::Data::
PropertyChangedEventHandler const*>(&handler)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall remove_PropertyChanged(
winrt::event_token token) noexcept final {
typename D::abi_guard guard(this->shim());
this->shim().PropertyChanged(
*reinterpret_cast<winrt::event_token const*>(&token));
return 0;
}
};
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs> {
int32_t __stdcall get_PropertyName(void** value) noexcept final try {
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<hstring>(this->shim().PropertyName());
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<
D, winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgsFactory>
: produce_base<
D,
winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgsFactory> {
int32_t __stdcall CreateInstance(void* name, void* baseInterface,
void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventArgs>(
this->shim().CreateInstance(
*reinterpret_cast<hstring const*>(&name),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IRelativeSource>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IRelativeSource> {
int32_t __stdcall get_Mode(int32_t* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::RelativeSourceMode>(
this->shim().Mode());
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall put_Mode(int32_t value) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().Mode(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::RelativeSourceMode const*>(
&value));
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
#ifndef WINRT_LEAN_AND_MEAN
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory>
: produce_base<D,
winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory> {
int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface,
void** value) noexcept final try {
if (innerInterface) *innerInterface = nullptr;
winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface;
clear_abi(value);
typename D::abi_guard guard(this->shim());
*value = detach_from<winrt::Microsoft::UI::Xaml::Data::RelativeSource>(
this->shim().CreateInstance(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&baseInterface),
winrt_impl_innerInterface));
if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface);
return 0;
} catch (...) {
return to_hresult();
}
};
#endif
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::ISelectionInfo> {
int32_t __stdcall SelectRange(void* itemIndexRange) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().SelectRange(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const*>(
&itemIndexRange));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall DeselectRange(void* itemIndexRange) noexcept final try {
typename D::abi_guard guard(this->shim());
this->shim().DeselectRange(
*reinterpret_cast<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange const*>(
&itemIndexRange));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall IsSelected(int32_t index, bool* result) noexcept final try {
typename D::abi_guard guard(this->shim());
*result = detach_from<bool>(this->shim().IsSelected(index));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall GetSelectedRanges(void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<winrt::Windows::Foundation::Collections::IVectorView<
winrt::Microsoft::UI::Xaml::Data::ItemIndexRange>>(
this->shim().GetSelectedRanges());
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::ISupportIncrementalLoading>
: produce_base<
D, winrt::Microsoft::UI::Xaml::Data::ISupportIncrementalLoading> {
int32_t __stdcall LoadMoreItemsAsync(uint32_t count,
void** operation) noexcept final try {
clear_abi(operation);
typename D::abi_guard guard(this->shim());
*operation = detach_from<winrt::Windows::Foundation::IAsyncOperation<
winrt::Microsoft::UI::Xaml::Data::LoadMoreItemsResult>>(
this->shim().LoadMoreItemsAsync(count));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall get_HasMoreItems(bool* value) noexcept final try {
typename D::abi_guard guard(this->shim());
*value = detach_from<bool>(this->shim().HasMoreItems());
return 0;
} catch (...) {
return to_hresult();
}
};
template <typename D>
struct produce<D, winrt::Microsoft::UI::Xaml::Data::IValueConverter>
: produce_base<D, winrt::Microsoft::UI::Xaml::Data::IValueConverter> {
int32_t __stdcall Convert(
void* value, struct struct_Windows_UI_Xaml_Interop_TypeName targetType,
void* parameter, void* language, void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<
winrt::Windows::Foundation::IInspectable>(this->shim().Convert(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value),
*reinterpret_cast<winrt::Windows::UI::Xaml::Interop::TypeName const*>(
&targetType),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&parameter),
*reinterpret_cast<hstring const*>(&language)));
return 0;
} catch (...) {
return to_hresult();
}
int32_t __stdcall ConvertBack(
void* value, struct struct_Windows_UI_Xaml_Interop_TypeName targetType,
void* parameter, void* language, void** result) noexcept final try {
clear_abi(result);
typename D::abi_guard guard(this->shim());
*result = detach_from<
winrt::Windows::Foundation::IInspectable>(this->shim().ConvertBack(
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&value),
*reinterpret_cast<winrt::Windows::UI::Xaml::Interop::TypeName const*>(
&targetType),
*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(
&parameter),
*reinterpret_cast<hstring const*>(&language)));
return 0;
} catch (...) {
return to_hresult();
}
};
} // namespace winrt::impl
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Data {
inline Binding::Binding() {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<Binding, IBindingFactory>(
[&](IBindingFactory const& f) {
return f.CreateInstance(baseInterface, innerInterface);
});
}
inline BindingBase::BindingBase() {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<BindingBase, IBindingBaseFactory>(
[&](IBindingBaseFactory const& f) {
return f.CreateInstance(baseInterface, innerInterface);
});
}
inline auto BindingOperations::SetBinding(
winrt::Microsoft::UI::Xaml::DependencyObject const& target,
winrt::Microsoft::UI::Xaml::DependencyProperty const& dp,
winrt::Microsoft::UI::Xaml::Data::BindingBase const& binding) {
impl::call_factory<BindingOperations, IBindingOperationsStatics>(
[&](IBindingOperationsStatics const& f) {
return f.SetBinding(target, dp, binding);
});
}
inline CollectionViewSource::CollectionViewSource()
: CollectionViewSource(
impl::call_factory_cast<
CollectionViewSource (*)(
winrt::Windows::Foundation::IActivationFactory const&),
CollectionViewSource>(
[](winrt::Windows::Foundation::IActivationFactory const& f) {
return f.template ActivateInstance<CollectionViewSource>();
})) {}
inline auto CollectionViewSource::SourceProperty() {
return impl::call_factory_cast<
winrt::Microsoft::UI::Xaml::DependencyProperty (*)(
ICollectionViewSourceStatics const&),
CollectionViewSource, ICollectionViewSourceStatics>(
[](ICollectionViewSourceStatics const& f) {
return f.SourceProperty();
});
}
inline auto CollectionViewSource::ViewProperty() {
return impl::call_factory_cast<
winrt::Microsoft::UI::Xaml::DependencyProperty (*)(
ICollectionViewSourceStatics const&),
CollectionViewSource, ICollectionViewSourceStatics>(
[](ICollectionViewSourceStatics const& f) { return f.ViewProperty(); });
}
inline auto CollectionViewSource::IsSourceGroupedProperty() {
return impl::call_factory_cast<
winrt::Microsoft::UI::Xaml::DependencyProperty (*)(
ICollectionViewSourceStatics const&),
CollectionViewSource, ICollectionViewSourceStatics>(
[](ICollectionViewSourceStatics const& f) {
return f.IsSourceGroupedProperty();
});
}
inline auto CollectionViewSource::ItemsPathProperty() {
return impl::call_factory_cast<
winrt::Microsoft::UI::Xaml::DependencyProperty (*)(
ICollectionViewSourceStatics const&),
CollectionViewSource, ICollectionViewSourceStatics>(
[](ICollectionViewSourceStatics const& f) {
return f.ItemsPathProperty();
});
}
inline CurrentChangingEventArgs::CurrentChangingEventArgs() {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<CurrentChangingEventArgs,
ICurrentChangingEventArgsFactory>(
[&](ICurrentChangingEventArgsFactory const& f) {
return f.CreateInstance(baseInterface, innerInterface);
});
}
inline CurrentChangingEventArgs::CurrentChangingEventArgs(bool isCancelable) {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<CurrentChangingEventArgs,
ICurrentChangingEventArgsFactory>(
[&](ICurrentChangingEventArgsFactory const& f) {
return f.CreateWithCancelableParameter(isCancelable, baseInterface,
innerInterface);
});
}
inline DataErrorsChangedEventArgs::DataErrorsChangedEventArgs(
param::hstring const& name)
: DataErrorsChangedEventArgs(
impl::call_factory<DataErrorsChangedEventArgs,
IDataErrorsChangedEventArgsFactory>(
[&](IDataErrorsChangedEventArgsFactory const& f) {
return f.CreateInstance(name);
})) {}
inline ItemIndexRange::ItemIndexRange(int32_t firstIndex, uint32_t length) {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<ItemIndexRange, IItemIndexRangeFactory>(
[&](IItemIndexRangeFactory const& f) {
return f.CreateInstance(firstIndex, length, baseInterface,
innerInterface);
});
}
inline PropertyChangedEventArgs::PropertyChangedEventArgs(
param::hstring const& name) {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<PropertyChangedEventArgs,
IPropertyChangedEventArgsFactory>(
[&](IPropertyChangedEventArgsFactory const& f) {
return f.CreateInstance(name, baseInterface, innerInterface);
});
}
inline RelativeSource::RelativeSource() {
winrt::Windows::Foundation::IInspectable baseInterface, innerInterface;
*this = impl::call_factory<RelativeSource, IRelativeSourceFactory>(
[&](IRelativeSourceFactory const& f) {
return f.CreateInstance(baseInterface, innerInterface);
});
}
template <typename L>
CurrentChangingEventHandler::CurrentChangingEventHandler(L handler)
: CurrentChangingEventHandler(
impl::make_delegate<CurrentChangingEventHandler>(
std::forward<L>(handler))) {}
template <typename F>
CurrentChangingEventHandler::CurrentChangingEventHandler(F * handler)
: CurrentChangingEventHandler(
[=](auto&&... args) { return handler(args...); }) {}
template <typename O, typename M>
CurrentChangingEventHandler::CurrentChangingEventHandler(O * object, M method)
: CurrentChangingEventHandler(
[=](auto&&... args) { return ((*object).*(method))(args...); }) {}
template <typename O, typename M>
CurrentChangingEventHandler::CurrentChangingEventHandler(com_ptr<O> && object,
M method)
: CurrentChangingEventHandler(
[o = std::move(object), method](auto&&... args) {
return ((*o).*(method))(args...);
}) {}
template <typename O, typename LM>
CurrentChangingEventHandler::CurrentChangingEventHandler(
weak_ref<O> && object, LM && lambda_or_method)
: CurrentChangingEventHandler(
[o = std::move(object),
lm = std::forward<LM>(lambda_or_method)](auto&&... args) {
if (auto s = o.get()) {
if constexpr (std::is_member_function_pointer_v<LM>)
((*s).*(lm))(args...);
else
lm(args...);
}
}) {}
template <typename O, typename M>
CurrentChangingEventHandler::CurrentChangingEventHandler(
std::shared_ptr<O> && object, M method)
: CurrentChangingEventHandler(
[o = std::move(object), method](auto&&... args) {
return ((*o).*(method))(args...);
}) {}
template <typename O, typename LM>
CurrentChangingEventHandler::CurrentChangingEventHandler(
std::weak_ptr<O> && object, LM && lambda_or_method)
: CurrentChangingEventHandler(
[o = std::move(object),
lm = std::forward<LM>(lambda_or_method)](auto&&... args) {
if (auto s = o.lock()) {
if constexpr (std::is_member_function_pointer_v<LM>)
((*s).*(lm))(args...);
else
lm(args...);
}
}) {}
inline auto CurrentChangingEventHandler::operator()(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs const& e)
const {
check_hresult((*(impl::abi_t<CurrentChangingEventHandler>**)this)
->Invoke(*(void**)(&sender), *(void**)(&e)));
}
template <typename L>
PropertyChangedEventHandler::PropertyChangedEventHandler(L handler)
: PropertyChangedEventHandler(
impl::make_delegate<PropertyChangedEventHandler>(
std::forward<L>(handler))) {}
template <typename F>
PropertyChangedEventHandler::PropertyChangedEventHandler(F * handler)
: PropertyChangedEventHandler(
[=](auto&&... args) { return handler(args...); }) {}
template <typename O, typename M>
PropertyChangedEventHandler::PropertyChangedEventHandler(O * object, M method)
: PropertyChangedEventHandler(
[=](auto&&... args) { return ((*object).*(method))(args...); }) {}
template <typename O, typename M>
PropertyChangedEventHandler::PropertyChangedEventHandler(com_ptr<O> && object,
M method)
: PropertyChangedEventHandler(
[o = std::move(object), method](auto&&... args) {
return ((*o).*(method))(args...);
}) {}
template <typename O, typename LM>
PropertyChangedEventHandler::PropertyChangedEventHandler(
weak_ref<O> && object, LM && lambda_or_method)
: PropertyChangedEventHandler(
[o = std::move(object),
lm = std::forward<LM>(lambda_or_method)](auto&&... args) {
if (auto s = o.get()) {
if constexpr (std::is_member_function_pointer_v<LM>)
((*s).*(lm))(args...);
else
lm(args...);
}
}) {}
template <typename O, typename M>
PropertyChangedEventHandler::PropertyChangedEventHandler(
std::shared_ptr<O> && object, M method)
: PropertyChangedEventHandler(
[o = std::move(object), method](auto&&... args) {
return ((*o).*(method))(args...);
}) {}
template <typename O, typename LM>
PropertyChangedEventHandler::PropertyChangedEventHandler(
std::weak_ptr<O> && object, LM && lambda_or_method)
: PropertyChangedEventHandler(
[o = std::move(object),
lm = std::forward<LM>(lambda_or_method)](auto&&... args) {
if (auto s = o.lock()) {
if constexpr (std::is_member_function_pointer_v<LM>)
((*s).*(lm))(args...);
else
lm(args...);
}
}) {}
inline auto PropertyChangedEventHandler::operator()(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventArgs const& e)
const {
check_hresult((*(impl::abi_t<PropertyChangedEventHandler>**)this)
->Invoke(*(void**)(&sender), *(void**)(&e)));
}
template <typename D, typename... Interfaces>
struct BindingT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<D, winrt::Microsoft::UI::Xaml::Data::IBinding,
winrt::Microsoft::UI::Xaml::Data::IBindingBase,
winrt::Microsoft::UI::Xaml::IDependencyObject>,
impl::base<D, Binding, winrt::Microsoft::UI::Xaml::Data::BindingBase,
winrt::Microsoft::UI::Xaml::DependencyObject> {
using composable = Binding;
protected:
BindingT() {
impl::call_factory<Binding, IBindingFactory>(
[&](IBindingFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(*this, this->m_inner);
});
}
};
template <typename D, typename... Interfaces>
struct BindingBaseT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<D, winrt::Microsoft::UI::Xaml::Data::IBindingBase,
winrt::Microsoft::UI::Xaml::IDependencyObject>,
impl::base<D, BindingBase,
winrt::Microsoft::UI::Xaml::DependencyObject> {
using composable = BindingBase;
protected:
BindingBaseT() {
impl::call_factory<BindingBase, IBindingBaseFactory>(
[&](IBindingBaseFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(*this, this->m_inner);
});
}
};
template <typename D, typename... Interfaces>
struct CurrentChangingEventArgsT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<
D, winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>,
impl::base<D, CurrentChangingEventArgs> {
using composable = CurrentChangingEventArgs;
protected:
CurrentChangingEventArgsT() {
impl::call_factory<CurrentChangingEventArgs,
ICurrentChangingEventArgsFactory>(
[&](ICurrentChangingEventArgsFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(*this, this->m_inner);
});
}
CurrentChangingEventArgsT(bool isCancelable) {
impl::call_factory<CurrentChangingEventArgs,
ICurrentChangingEventArgsFactory>(
[&](ICurrentChangingEventArgsFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateWithCancelableParameter(isCancelable, *this,
this->m_inner);
});
}
};
template <typename D, typename... Interfaces>
struct ItemIndexRangeT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<D, winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>,
impl::base<D, ItemIndexRange> {
using composable = ItemIndexRange;
protected:
ItemIndexRangeT(int32_t firstIndex, uint32_t length) {
impl::call_factory<ItemIndexRange, IItemIndexRangeFactory>(
[&](IItemIndexRangeFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(firstIndex, length, *this, this->m_inner);
});
}
};
template <typename D, typename... Interfaces>
struct PropertyChangedEventArgsT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<
D, winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs>,
impl::base<D, PropertyChangedEventArgs> {
using composable = PropertyChangedEventArgs;
protected:
PropertyChangedEventArgsT(param::hstring const& name) {
impl::call_factory<PropertyChangedEventArgs,
IPropertyChangedEventArgsFactory>(
[&](IPropertyChangedEventArgsFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(name, *this, this->m_inner);
});
}
};
template <typename D, typename... Interfaces>
struct RelativeSourceT
: implements<D, winrt::Windows::Foundation::IInspectable, composing,
Interfaces...>,
impl::require<D, winrt::Microsoft::UI::Xaml::Data::IRelativeSource,
winrt::Microsoft::UI::Xaml::IDependencyObject>,
impl::base<D, RelativeSource,
winrt::Microsoft::UI::Xaml::DependencyObject> {
using composable = RelativeSource;
protected:
RelativeSourceT() {
impl::call_factory<RelativeSource, IRelativeSourceFactory>(
[&](IRelativeSourceFactory const& f) {
[[maybe_unused]] auto winrt_impl_discarded =
f.CreateInstance(*this, this->m_inner);
});
}
};
}
namespace std {
#ifndef WINRT_LEAN_AND_MEAN
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBinding>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingBase>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingBaseFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingExpression>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBase>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingExpressionBaseFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingExpressionFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingOperations>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IBindingOperationsStatics>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICollectionView>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICollectionViewFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICollectionViewGroup>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSource>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICollectionViewSourceStatics>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICurrentChangingEventArgsFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICustomProperty>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ICustomPropertyProvider>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<
winrt::Microsoft::UI::Xaml::Data::IDataErrorsChangedEventArgsFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IItemIndexRange>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IItemIndexRangeFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IItemsRangeInfo>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::INotifyDataErrorInfo>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::INotifyPropertyChanged>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IPropertyChangedEventArgsFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IRelativeSource>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IRelativeSourceFactory>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ISelectionInfo>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ISupportIncrementalLoading>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::IValueConverter>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::Binding>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::BindingBase>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::BindingExpression>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::BindingExpressionBase>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::BindingOperations>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::CollectionViewSource>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::CurrentChangingEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::DataErrorsChangedEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::ItemIndexRange>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventArgs>
: winrt::impl::hash_base {};
template <>
struct hash<winrt::Microsoft::UI::Xaml::Data::RelativeSource>
: winrt::impl::hash_base {};
#endif
#ifdef __cpp_lib_format
#endif
} // namespace std
#endif