// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Globalization_DateTimeFormatting_H #define WINRT_Windows_Globalization_DateTimeFormatting_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.Globalization.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Globalization.DateTimeFormatting.2.h" namespace winrt::impl { template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Languages() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_Languages(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::GeographicRegion() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_GeographicRegion(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Calendar() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_Calendar(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Clock() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_Clock(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::NumeralSystem() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_NumeralSystem(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::NumeralSystem(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->put_NumeralSystem(*(void**)(&value))); } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Patterns() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_Patterns(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Template() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_Template(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::Format(winrt::Windows::Foundation::DateTime const& value) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->Format(impl::bind_in(value), &result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeYear() const { winrt::Windows::Globalization::DateTimeFormatting::YearFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeYear(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeMonth() const { winrt::Windows::Globalization::DateTimeFormatting::MonthFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeMonth(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeDayOfWeek() const { winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeDayOfWeek(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeDay() const { winrt::Windows::Globalization::DateTimeFormatting::DayFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeDay(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeHour() const { winrt::Windows::Globalization::DateTimeFormatting::HourFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeHour(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeMinute() const { winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeMinute(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::IncludeSecond() const { winrt::Windows::Globalization::DateTimeFormatting::SecondFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_IncludeSecond(reinterpret_cast(&value))); return value; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::ResolvedLanguage() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_ResolvedLanguage(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter::ResolvedGeographicRegion() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter)->get_ResolvedGeographicRegion(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatter2::Format(winrt::Windows::Foundation::DateTime const& datetime, param::hstring const& timeZoneId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter2)->FormatUsingTimeZone(impl::bind_in(datetime), *(void**)(&timeZoneId), &result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatter(param::hstring const& formatTemplate) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatter(*(void**)(&formatTemplate), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterLanguages(param::hstring const& formatTemplate, param::iterable const& languages) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterLanguages(*(void**)(&formatTemplate), *(void**)(&languages), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterContext(param::hstring const& formatTemplate, param::iterable const& languages, param::hstring const& geographicRegion, param::hstring const& calendar, param::hstring const& clock) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterContext(*(void**)(&formatTemplate), *(void**)(&languages), *(void**)(&geographicRegion), *(void**)(&calendar), *(void**)(&clock), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterDate(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterDate(static_cast(yearFormat), static_cast(monthFormat), static_cast(dayFormat), static_cast(dayOfWeekFormat), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterTime(winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterTime(static_cast(hourFormat), static_cast(minuteFormat), static_cast(secondFormat), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterDateTimeLanguages(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat, winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat, param::iterable const& languages) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterDateTimeLanguages(static_cast(yearFormat), static_cast(monthFormat), static_cast(dayFormat), static_cast(dayOfWeekFormat), static_cast(hourFormat), static_cast(minuteFormat), static_cast(secondFormat), *(void**)(&languages), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterFactory::CreateDateTimeFormatterDateTimeContext(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat, winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat, param::iterable const& languages, param::hstring const& geographicRegion, param::hstring const& calendar, param::hstring const& clock) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory)->CreateDateTimeFormatterDateTimeContext(static_cast(yearFormat), static_cast(monthFormat), static_cast(dayFormat), static_cast(dayOfWeekFormat), static_cast(hourFormat), static_cast(minuteFormat), static_cast(secondFormat), *(void**)(&languages), *(void**)(&geographicRegion), *(void**)(&calendar), *(void**)(&clock), &result)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterStatics::LongDate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterStatics)->get_LongDate(&value)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterStatics::LongTime() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterStatics)->get_LongTime(&value)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterStatics::ShortDate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterStatics)->get_ShortDate(&value)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_DateTimeFormatting_IDateTimeFormatterStatics::ShortTime() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterStatics)->get_ShortTime(&value)); return winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter{ value, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Languages(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Languages()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GeographicRegion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GeographicRegion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Calendar(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Calendar()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Clock(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Clock()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NumeralSystem(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NumeralSystem()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NumeralSystem(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NumeralSystem(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Patterns(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Patterns()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Template(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Template()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Format(int64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Format(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeYear(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeYear()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeMonth(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeMonth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeDayOfWeek(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeDayOfWeek()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeDay(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeDay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeHour(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeHour()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeMinute(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeMinute()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IncludeSecond(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IncludeSecond()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ResolvedLanguage(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ResolvedLanguage()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ResolvedGeographicRegion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ResolvedGeographicRegion()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall FormatUsingTimeZone(int64_t datetime, void* timeZoneId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Format(*reinterpret_cast(&datetime), *reinterpret_cast(&timeZoneId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateDateTimeFormatter(void* formatTemplate, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatter(*reinterpret_cast(&formatTemplate))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterLanguages(void* formatTemplate, void* languages, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterLanguages(*reinterpret_cast(&formatTemplate), *reinterpret_cast const*>(&languages))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterContext(void* formatTemplate, void* languages, void* geographicRegion, void* calendar, void* clock, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterContext(*reinterpret_cast(&formatTemplate), *reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion), *reinterpret_cast(&calendar), *reinterpret_cast(&clock))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterDate(int32_t yearFormat, int32_t monthFormat, int32_t dayFormat, int32_t dayOfWeekFormat, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterDate(*reinterpret_cast(&yearFormat), *reinterpret_cast(&monthFormat), *reinterpret_cast(&dayFormat), *reinterpret_cast(&dayOfWeekFormat))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterTime(int32_t hourFormat, int32_t minuteFormat, int32_t secondFormat, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterTime(*reinterpret_cast(&hourFormat), *reinterpret_cast(&minuteFormat), *reinterpret_cast(&secondFormat))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterDateTimeLanguages(int32_t yearFormat, int32_t monthFormat, int32_t dayFormat, int32_t dayOfWeekFormat, int32_t hourFormat, int32_t minuteFormat, int32_t secondFormat, void* languages, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterDateTimeLanguages(*reinterpret_cast(&yearFormat), *reinterpret_cast(&monthFormat), *reinterpret_cast(&dayFormat), *reinterpret_cast(&dayOfWeekFormat), *reinterpret_cast(&hourFormat), *reinterpret_cast(&minuteFormat), *reinterpret_cast(&secondFormat), *reinterpret_cast const*>(&languages))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateDateTimeFormatterDateTimeContext(int32_t yearFormat, int32_t monthFormat, int32_t dayFormat, int32_t dayOfWeekFormat, int32_t hourFormat, int32_t minuteFormat, int32_t secondFormat, void* languages, void* geographicRegion, void* calendar, void* clock, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDateTimeFormatterDateTimeContext(*reinterpret_cast(&yearFormat), *reinterpret_cast(&monthFormat), *reinterpret_cast(&dayFormat), *reinterpret_cast(&dayOfWeekFormat), *reinterpret_cast(&hourFormat), *reinterpret_cast(&minuteFormat), *reinterpret_cast(&secondFormat), *reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion), *reinterpret_cast(&calendar), *reinterpret_cast(&clock))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_LongDate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LongDate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LongTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LongTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShortDate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ShortDate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShortTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ShortTime()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Globalization::DateTimeFormatting { inline DateTimeFormatter::DateTimeFormatter(param::hstring const& formatTemplate) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatter(formatTemplate); })) { } inline DateTimeFormatter::DateTimeFormatter(param::hstring const& formatTemplate, param::iterable const& languages) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterLanguages(formatTemplate, languages); })) { } inline DateTimeFormatter::DateTimeFormatter(param::hstring const& formatTemplate, param::iterable const& languages, param::hstring const& geographicRegion, param::hstring const& calendar, param::hstring const& clock) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterContext(formatTemplate, languages, geographicRegion, calendar, clock); })) { } inline DateTimeFormatter::DateTimeFormatter(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterDate(yearFormat, monthFormat, dayFormat, dayOfWeekFormat); })) { } inline DateTimeFormatter::DateTimeFormatter(winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterTime(hourFormat, minuteFormat, secondFormat); })) { } inline DateTimeFormatter::DateTimeFormatter(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat, winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat, param::iterable const& languages) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterDateTimeLanguages(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages); })) { } inline DateTimeFormatter::DateTimeFormatter(winrt::Windows::Globalization::DateTimeFormatting::YearFormat const& yearFormat, winrt::Windows::Globalization::DateTimeFormatting::MonthFormat const& monthFormat, winrt::Windows::Globalization::DateTimeFormatting::DayFormat const& dayFormat, winrt::Windows::Globalization::DateTimeFormatting::DayOfWeekFormat const& dayOfWeekFormat, winrt::Windows::Globalization::DateTimeFormatting::HourFormat const& hourFormat, winrt::Windows::Globalization::DateTimeFormatting::MinuteFormat const& minuteFormat, winrt::Windows::Globalization::DateTimeFormatting::SecondFormat const& secondFormat, param::iterable const& languages, param::hstring const& geographicRegion, param::hstring const& calendar, param::hstring const& clock) : DateTimeFormatter(impl::call_factory([&](IDateTimeFormatterFactory const& f) { return f.CreateDateTimeFormatterDateTimeContext(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages, geographicRegion, calendar, clock); })) { } inline auto DateTimeFormatter::LongDate() { return impl::call_factory_cast([](IDateTimeFormatterStatics const& f) { return f.LongDate(); }); } inline auto DateTimeFormatter::LongTime() { return impl::call_factory_cast([](IDateTimeFormatterStatics const& f) { return f.LongTime(); }); } inline auto DateTimeFormatter::ShortDate() { return impl::call_factory_cast([](IDateTimeFormatterStatics const& f) { return f.ShortDate(); }); } inline auto DateTimeFormatter::ShortTime() { return impl::call_factory_cast([](IDateTimeFormatterStatics const& f) { return f.ShortTime(); }); } } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif