// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_UI_Xaml_Data_H #define WINRT_Windows_UI_Xaml_Data_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.UI.Xaml.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.UI.Xaml.2.h" #include "winrt/impl/Windows.UI.Xaml.Interop.2.h" #include "winrt/impl/Windows.UI.Xaml.Data.2.h" namespace winrt::impl { template auto consume_Windows_UI_Xaml_Data_IBinding::Path() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_Path(&value)); return winrt::Windows::UI::Xaml::PropertyPath{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::Path(winrt::Windows::UI::Xaml::PropertyPath const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_Path(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::Mode() const { winrt::Windows::UI::Xaml::Data::BindingMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_Mode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Xaml_Data_IBinding::Mode(winrt::Windows::UI::Xaml::Data::BindingMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_Mode(static_cast(value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::Source() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_Source(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::Source(winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_Source(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::RelativeSource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_RelativeSource(&value)); return winrt::Windows::UI::Xaml::Data::RelativeSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::RelativeSource(winrt::Windows::UI::Xaml::Data::RelativeSource const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_RelativeSource(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::ElementName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_ElementName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::ElementName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_ElementName(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::Converter() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_Converter(&value)); return winrt::Windows::UI::Xaml::Data::IValueConverter{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::Converter(winrt::Windows::UI::Xaml::Data::IValueConverter const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_Converter(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::ConverterParameter() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_ConverterParameter(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::ConverterParameter(winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_ConverterParameter(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding::ConverterLanguage() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->get_ConverterLanguage(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding::ConverterLanguage(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding)->put_ConverterLanguage(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding2::FallbackValue() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->get_FallbackValue(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding2::FallbackValue(winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->put_FallbackValue(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding2::TargetNullValue() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->get_TargetNullValue(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBinding2::TargetNullValue(winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->put_TargetNullValue(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_IBinding2::UpdateSourceTrigger() const { winrt::Windows::UI::Xaml::Data::UpdateSourceTrigger value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->get_UpdateSourceTrigger(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Xaml_Data_IBinding2::UpdateSourceTrigger(winrt::Windows::UI::Xaml::Data::UpdateSourceTrigger const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBinding2)->put_UpdateSourceTrigger(static_cast(value))); } template auto consume_Windows_UI_Xaml_Data_IBindingBaseFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingBaseFactory)->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::BindingBase{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBindingExpression::DataItem() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingExpression)->get_DataItem(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBindingExpression::ParentBinding() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingExpression)->get_ParentBinding(&value)); return winrt::Windows::UI::Xaml::Data::Binding{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBindingExpression::UpdateSource() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingExpression)->UpdateSource()); } template auto consume_Windows_UI_Xaml_Data_IBindingFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingFactory)->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::Binding{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IBindingOperationsStatics::SetBinding(winrt::Windows::UI::Xaml::DependencyObject const& target, winrt::Windows::UI::Xaml::DependencyProperty const& dp, winrt::Windows::UI::Xaml::Data::BindingBase const& binding) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IBindingOperationsStatics)->SetBinding(*(void**)(&target), *(void**)(&dp), *(void**)(&binding))); } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentItem() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_CurrentItem(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentPosition() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_CurrentPosition(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::IsCurrentAfterLast() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_IsCurrentAfterLast(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::IsCurrentBeforeFirst() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_IsCurrentBeforeFirst(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CollectionGroups() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_CollectionGroups(&value)); return winrt::Windows::Foundation::Collections::IObservableVector{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::HasMoreItems() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->get_HasMoreItems(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanged(winrt::Windows::Foundation::EventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->add_CurrentChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanged(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const { return impl::make_event_revoker(this, CurrentChanged(handler)); } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->remove_CurrentChanged(impl::bind_in(token)); } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanging(winrt::Windows::UI::Xaml::Data::CurrentChangingEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->add_CurrentChanging(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanging(auto_revoke_t, winrt::Windows::UI::Xaml::Data::CurrentChangingEventHandler const& handler) const { return impl::make_event_revoker(this, CurrentChanging(handler)); } template auto consume_Windows_UI_Xaml_Data_ICollectionView::CurrentChanging(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->remove_CurrentChanging(impl::bind_in(token)); } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentTo(winrt::Windows::Foundation::IInspectable const& item) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentTo(*(void**)(&item), &result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentToPosition(int32_t index) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentToPosition(index, &result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentToFirst() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentToFirst(&result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentToLast() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentToLast(&result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentToNext() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentToNext(&result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::MoveCurrentToPrevious() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->MoveCurrentToPrevious(&result)); return result; } template auto consume_Windows_UI_Xaml_Data_ICollectionView::LoadMoreItemsAsync(uint32_t count) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionView)->LoadMoreItemsAsync(count, &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewFactory::CreateView() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewFactory)->CreateView(&result)); return winrt::Windows::UI::Xaml::Data::ICollectionView{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewGroup::Group() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewGroup)->get_Group(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewGroup::GroupItems() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewGroup)->get_GroupItems(&value)); return winrt::Windows::Foundation::Collections::IObservableVector{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::Source() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->get_Source(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::Source(winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->put_Source(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::View() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->get_View(&value)); return winrt::Windows::UI::Xaml::Data::ICollectionView{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::IsSourceGrouped() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->get_IsSourceGrouped(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::IsSourceGrouped(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->put_IsSourceGrouped(value)); } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::ItemsPath() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->get_ItemsPath(&value)); return winrt::Windows::UI::Xaml::PropertyPath{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSource::ItemsPath(winrt::Windows::UI::Xaml::PropertyPath const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSource)->put_ItemsPath(*(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSourceStatics::SourceProperty() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSourceStatics)->get_SourceProperty(&value)); return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSourceStatics::ViewProperty() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSourceStatics)->get_ViewProperty(&value)); return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSourceStatics::IsSourceGroupedProperty() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSourceStatics)->get_IsSourceGroupedProperty(&value)); return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICollectionViewSourceStatics::ItemsPathProperty() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICollectionViewSourceStatics)->get_ItemsPathProperty(&value)); return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICurrentChangingEventArgs::Cancel() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICurrentChangingEventArgs)->get_Cancel(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICurrentChangingEventArgs::Cancel(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICurrentChangingEventArgs)->put_Cancel(value)); } template auto consume_Windows_UI_Xaml_Data_ICurrentChangingEventArgs::IsCancelable() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICurrentChangingEventArgs)->get_IsCancelable(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICurrentChangingEventArgsFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICurrentChangingEventArgsFactory)->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::CurrentChangingEventArgs{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICurrentChangingEventArgsFactory::CreateWithCancelableParameter(bool isCancelable, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICurrentChangingEventArgsFactory)->CreateWithCancelableParameter(isCancelable, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::CurrentChangingEventArgs{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::Type() const { winrt::Windows::UI::Xaml::Interop::TypeName value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->get_Type(put_abi(value))); return value; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::Name() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->get_Name(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::GetValue(winrt::Windows::Foundation::IInspectable const& target) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->GetValue(*(void**)(&target), &result)); return winrt::Windows::Foundation::IInspectable{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::SetValue(winrt::Windows::Foundation::IInspectable const& target, winrt::Windows::Foundation::IInspectable const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->SetValue(*(void**)(&target), *(void**)(&value))); } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::GetIndexedValue(winrt::Windows::Foundation::IInspectable const& target, winrt::Windows::Foundation::IInspectable const& index) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->GetIndexedValue(*(void**)(&target), *(void**)(&index), &result)); return winrt::Windows::Foundation::IInspectable{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::SetIndexedValue(winrt::Windows::Foundation::IInspectable const& target, winrt::Windows::Foundation::IInspectable const& value, winrt::Windows::Foundation::IInspectable const& index) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->SetIndexedValue(*(void**)(&target), *(void**)(&value), *(void**)(&index))); } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::CanWrite() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->get_CanWrite(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICustomProperty::CanRead() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomProperty)->get_CanRead(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_ICustomPropertyProvider::GetCustomProperty(param::hstring const& name) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomPropertyProvider)->GetCustomProperty(*(void**)(&name), &result)); return winrt::Windows::UI::Xaml::Data::ICustomProperty{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomPropertyProvider::GetIndexedProperty(param::hstring const& name, winrt::Windows::UI::Xaml::Interop::TypeName const& type) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomPropertyProvider)->GetIndexedProperty(*(void**)(&name), impl::bind_in(type), &result)); return winrt::Windows::UI::Xaml::Data::ICustomProperty{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomPropertyProvider::GetStringRepresentation() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomPropertyProvider)->GetStringRepresentation(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ICustomPropertyProvider::Type() const { winrt::Windows::UI::Xaml::Interop::TypeName value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ICustomPropertyProvider)->get_Type(put_abi(value))); return value; } template auto consume_Windows_UI_Xaml_Data_IItemIndexRange::FirstIndex() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IItemIndexRange)->get_FirstIndex(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_IItemIndexRange::Length() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IItemIndexRange)->get_Length(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_IItemIndexRange::LastIndex() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IItemIndexRange)->get_LastIndex(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_IItemIndexRangeFactory::CreateInstance(int32_t firstIndex, uint32_t length, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IItemIndexRangeFactory)->CreateInstance(firstIndex, length, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::ItemIndexRange{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IItemsRangeInfo::RangesChanged(winrt::Windows::UI::Xaml::Data::ItemIndexRange const& visibleRange, param::vector_view const& trackedItems) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IItemsRangeInfo)->RangesChanged(*(void**)(&visibleRange), *(void**)(&trackedItems))); } template auto consume_Windows_UI_Xaml_Data_INotifyPropertyChanged::PropertyChanged(winrt::Windows::UI::Xaml::Data::PropertyChangedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::INotifyPropertyChanged)->add_PropertyChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Xaml_Data_INotifyPropertyChanged::PropertyChanged(auto_revoke_t, winrt::Windows::UI::Xaml::Data::PropertyChangedEventHandler const& handler) const { return impl::make_event_revoker(this, PropertyChanged(handler)); } template auto consume_Windows_UI_Xaml_Data_INotifyPropertyChanged::PropertyChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::INotifyPropertyChanged)->remove_PropertyChanged(impl::bind_in(token)); } template auto consume_Windows_UI_Xaml_Data_IPropertyChangedEventArgs::PropertyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IPropertyChangedEventArgs)->get_PropertyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IPropertyChangedEventArgsFactory::CreateInstance(param::hstring const& name, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IPropertyChangedEventArgsFactory)->CreateInstance(*(void**)(&name), *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::PropertyChangedEventArgs{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IRelativeSource::Mode() const { winrt::Windows::UI::Xaml::Data::RelativeSourceMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IRelativeSource)->get_Mode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Xaml_Data_IRelativeSource::Mode(winrt::Windows::UI::Xaml::Data::RelativeSourceMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IRelativeSource)->put_Mode(static_cast(value))); } template auto consume_Windows_UI_Xaml_Data_IRelativeSourceFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IRelativeSourceFactory)->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); return winrt::Windows::UI::Xaml::Data::RelativeSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ISelectionInfo::SelectRange(winrt::Windows::UI::Xaml::Data::ItemIndexRange const& itemIndexRange) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISelectionInfo)->SelectRange(*(void**)(&itemIndexRange))); } template auto consume_Windows_UI_Xaml_Data_ISelectionInfo::DeselectRange(winrt::Windows::UI::Xaml::Data::ItemIndexRange const& itemIndexRange) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISelectionInfo)->DeselectRange(*(void**)(&itemIndexRange))); } template auto consume_Windows_UI_Xaml_Data_ISelectionInfo::IsSelected(int32_t index) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISelectionInfo)->IsSelected(index, &result)); return result; } template auto consume_Windows_UI_Xaml_Data_ISelectionInfo::GetSelectedRanges() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISelectionInfo)->GetSelectedRanges(&result)); return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ISupportIncrementalLoading::LoadMoreItemsAsync(uint32_t count) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISupportIncrementalLoading)->LoadMoreItemsAsync(count, &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_ISupportIncrementalLoading::HasMoreItems() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::ISupportIncrementalLoading)->get_HasMoreItems(&value)); return value; } template auto consume_Windows_UI_Xaml_Data_IValueConverter::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{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IValueConverter)->Convert(*(void**)(&value), impl::bind_in(targetType), *(void**)(¶meter), *(void**)(&language), &result)); return winrt::Windows::Foundation::IInspectable{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Data_IValueConverter::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{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Xaml::Data::IValueConverter)->ConvertBack(*(void**)(&value), impl::bind_in(targetType), *(void**)(¶meter), *(void**)(&language), &result)); return winrt::Windows::Foundation::IInspectable{ result, take_ownership_from_abi }; } template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* sender, void* e) noexcept final try { (*this)(*reinterpret_cast(&sender), *reinterpret_cast(&e)); return 0; } catch (...) { return to_hresult(); } }; template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* sender, void* e) noexcept final try { (*this)(*reinterpret_cast(&sender), *reinterpret_cast(&e)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Path(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(&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(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(&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(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(&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(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(&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(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(&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(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(&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(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(&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(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(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_FallbackValue(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(&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(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(&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(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(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(*reinterpret_cast(&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 struct produce : produce_base { int32_t __stdcall get_DataItem(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(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 struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(*reinterpret_cast(&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 struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(&target), *reinterpret_cast(&dp), *reinterpret_cast(&binding)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_CurrentItem(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(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(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(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>(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(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(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().CurrentChanged(*reinterpret_cast 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(&token)); return 0; } int32_t __stdcall add_CurrentChanging(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().CurrentChanging(*reinterpret_cast(&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(&token)); return 0; } int32_t __stdcall MoveCurrentTo(void* item, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MoveCurrentTo(*reinterpret_cast(&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(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(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(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(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(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>(this->shim().LoadMoreItemsAsync(count)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall CreateView(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateView()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_Group(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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>(this->shim().GroupItems()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Source(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(&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(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(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(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(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SourceProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(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(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(this->shim().ItemsPathProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Cancel(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(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(this->shim().IsCancelable()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(*reinterpret_cast(&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(this->shim().CreateWithCancelableParameter(isCancelable, *reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_Type(struct struct_Windows_UI_Xaml_Interop_TypeName* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(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(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(this->shim().GetValue(*reinterpret_cast(&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(&target), *reinterpret_cast(&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(this->shim().GetIndexedValue(*reinterpret_cast(&target), *reinterpret_cast(&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(&target), *reinterpret_cast(&value), *reinterpret_cast(&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(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(this->shim().CanRead()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetCustomProperty(void* name, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetCustomProperty(*reinterpret_cast(&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(this->shim().GetIndexedProperty(*reinterpret_cast(&name), *reinterpret_cast(&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(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(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Type()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_FirstIndex(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(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(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(this->shim().LastIndex()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(firstIndex, length, *reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall RangesChanged(void* visibleRange, void* trackedItems) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RangesChanged(*reinterpret_cast(&visibleRange), *reinterpret_cast const*>(&trackedItems)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall add_PropertyChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().PropertyChanged(*reinterpret_cast(&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(&token)); return 0; } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PropertyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PropertyName()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(*reinterpret_cast(&name), *reinterpret_cast(&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 struct produce : produce_base { int32_t __stdcall get_Mode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(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(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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(this->shim().CreateInstance(*reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall SelectRange(void* itemIndexRange) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SelectRange(*reinterpret_cast(&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(&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(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>(this->shim().GetSelectedRanges()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { 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>(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(this->shim().HasMoreItems()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { 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(this->shim().Convert(*reinterpret_cast(&value), *reinterpret_cast(&targetType), *reinterpret_cast(¶meter), *reinterpret_cast(&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(this->shim().ConvertBack(*reinterpret_cast(&value), *reinterpret_cast(&targetType), *reinterpret_cast(¶meter), *reinterpret_cast(&language))); return 0; } catch (...) { return to_hresult(); } }; } WINRT_EXPORT namespace winrt::Windows::UI::Xaml::Data { inline Binding::Binding() { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](IBindingFactory const& f) { return f.CreateInstance(baseInterface, innerInterface); }); } inline BindingBase::BindingBase() { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](IBindingBaseFactory const& f) { return f.CreateInstance(baseInterface, innerInterface); }); } inline auto BindingOperations::SetBinding(winrt::Windows::UI::Xaml::DependencyObject const& target, winrt::Windows::UI::Xaml::DependencyProperty const& dp, winrt::Windows::UI::Xaml::Data::BindingBase const& binding) { impl::call_factory([&](IBindingOperationsStatics const& f) { return f.SetBinding(target, dp, binding); }); } inline CollectionViewSource::CollectionViewSource() : CollectionViewSource(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto CollectionViewSource::SourceProperty() { return impl::call_factory_cast([](ICollectionViewSourceStatics const& f) { return f.SourceProperty(); }); } inline auto CollectionViewSource::ViewProperty() { return impl::call_factory_cast([](ICollectionViewSourceStatics const& f) { return f.ViewProperty(); }); } inline auto CollectionViewSource::IsSourceGroupedProperty() { return impl::call_factory_cast([](ICollectionViewSourceStatics const& f) { return f.IsSourceGroupedProperty(); }); } inline auto CollectionViewSource::ItemsPathProperty() { return impl::call_factory_cast([](ICollectionViewSourceStatics const& f) { return f.ItemsPathProperty(); }); } inline CurrentChangingEventArgs::CurrentChangingEventArgs() { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ICurrentChangingEventArgsFactory const& f) { return f.CreateInstance(baseInterface, innerInterface); }); } inline CurrentChangingEventArgs::CurrentChangingEventArgs(bool isCancelable) { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ICurrentChangingEventArgsFactory const& f) { return f.CreateWithCancelableParameter(isCancelable, baseInterface, innerInterface); }); } inline ItemIndexRange::ItemIndexRange(int32_t firstIndex, uint32_t length) { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](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([&](IPropertyChangedEventArgsFactory const& f) { return f.CreateInstance(name, baseInterface, innerInterface); }); } inline RelativeSource::RelativeSource() { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](IRelativeSourceFactory const& f) { return f.CreateInstance(baseInterface, innerInterface); }); } template CurrentChangingEventHandler::CurrentChangingEventHandler(L handler) : CurrentChangingEventHandler(impl::make_delegate(std::forward(handler))) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(F* handler) : CurrentChangingEventHandler([=](auto&&... args) { return handler(args...); }) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(O* object, M method) : CurrentChangingEventHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(com_ptr&& object, M method) : CurrentChangingEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(weak_ref&& object, LM&& lambda_or_method) : CurrentChangingEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.get()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(std::shared_ptr&& object, M method) : CurrentChangingEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template CurrentChangingEventHandler::CurrentChangingEventHandler(std::weak_ptr&& object, LM&& lambda_or_method) : CurrentChangingEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.lock()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } inline auto CurrentChangingEventHandler::operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Windows::UI::Xaml::Data::CurrentChangingEventArgs const& e) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&sender), *(void**)(&e))); } template PropertyChangedEventHandler::PropertyChangedEventHandler(L handler) : PropertyChangedEventHandler(impl::make_delegate(std::forward(handler))) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(F* handler) : PropertyChangedEventHandler([=](auto&&... args) { return handler(args...); }) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(O* object, M method) : PropertyChangedEventHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(com_ptr&& object, M method) : PropertyChangedEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(weak_ref&& object, LM&& lambda_or_method) : PropertyChangedEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.get()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(std::shared_ptr&& object, M method) : PropertyChangedEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template PropertyChangedEventHandler::PropertyChangedEventHandler(std::weak_ptr&& object, LM&& lambda_or_method) : PropertyChangedEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.lock()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } inline auto PropertyChangedEventHandler::operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Windows::UI::Xaml::Data::PropertyChangedEventArgs const& e) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&sender), *(void**)(&e))); } template struct BindingT : implements, impl::require, impl::base { using composable = Binding; protected: BindingT() { impl::call_factory([&](IBindingFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } }; template struct BindingBaseT : implements, impl::require, impl::base { using composable = BindingBase; protected: BindingBaseT() { impl::call_factory([&](IBindingBaseFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } }; template struct CurrentChangingEventArgsT : implements, impl::require, impl::base { using composable = CurrentChangingEventArgs; protected: CurrentChangingEventArgsT() { impl::call_factory([&](ICurrentChangingEventArgsFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } CurrentChangingEventArgsT(bool isCancelable) { impl::call_factory([&](ICurrentChangingEventArgsFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateWithCancelableParameter(isCancelable, *this, this->m_inner); }); } }; template struct ItemIndexRangeT : implements, impl::require, impl::base { using composable = ItemIndexRange; protected: ItemIndexRangeT(int32_t firstIndex, uint32_t length) { impl::call_factory([&](IItemIndexRangeFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(firstIndex, length, *this, this->m_inner); }); } }; template struct PropertyChangedEventArgsT : implements, impl::require, impl::base { using composable = PropertyChangedEventArgs; protected: PropertyChangedEventArgsT(param::hstring const& name) { impl::call_factory([&](IPropertyChangedEventArgsFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(name, *this, this->m_inner); }); } }; template struct RelativeSourceT : implements, impl::require, impl::base { using composable = RelativeSource; protected: RelativeSourceT() { impl::call_factory([&](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::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif