// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Globalization_NumberFormatting_H #define WINRT_Windows_Globalization_NumberFormatting_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Windows.Globalization.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Globalization.NumberFormatting.2.h" namespace winrt::impl { template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatter::Currency() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Currency(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Currency(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatter::Currency(param::hstring const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Currency(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Currency(*(void**)(&value))); } } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatter2::Mode() const { winrt::Windows::Globalization::NumberFormatting::CurrencyFormatterMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Mode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Mode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatter2::Mode(winrt::Windows::Globalization::NumberFormatting::CurrencyFormatterMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Mode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Mode(static_cast(value))); } } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatter2::ApplyRoundingForCurrency(winrt::Windows::Globalization::NumberFormatting::RoundingAlgorithm const& roundingAlgorithm) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ApplyRoundingForCurrency(static_cast(roundingAlgorithm))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ApplyRoundingForCurrency(static_cast(roundingAlgorithm))); } } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatterFactory::CreateCurrencyFormatterCode(param::hstring const& currencyCode) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateCurrencyFormatterCode(*(void**)(¤cyCode), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateCurrencyFormatterCode(*(void**)(¤cyCode), &result)); } return winrt::Windows::Globalization::NumberFormatting::CurrencyFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_ICurrencyFormatterFactory::CreateCurrencyFormatterCodeContext(param::hstring const& currencyCode, param::iterable const& languages, param::hstring const& geographicRegion) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateCurrencyFormatterCodeContext(*(void**)(¤cyCode), *(void**)(&languages), *(void**)(&geographicRegion), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateCurrencyFormatterCodeContext(*(void**)(¤cyCode), *(void**)(&languages), *(void**)(&geographicRegion), &result)); } return winrt::Windows::Globalization::NumberFormatting::CurrencyFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_IDecimalFormatterFactory::CreateDecimalFormatter(param::iterable const& languages, param::hstring const& geographicRegion) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateDecimalFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateDecimalFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } return winrt::Windows::Globalization::NumberFormatting::DecimalFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_IIncrementNumberRounder::RoundingAlgorithm() const { winrt::Windows::Globalization::NumberFormatting::RoundingAlgorithm value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoundingAlgorithm(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoundingAlgorithm(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Globalization_NumberFormatting_IIncrementNumberRounder::RoundingAlgorithm(winrt::Windows::Globalization::NumberFormatting::RoundingAlgorithm const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoundingAlgorithm(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoundingAlgorithm(static_cast(value))); } } template auto consume_Windows_Globalization_NumberFormatting_IIncrementNumberRounder::Increment() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Increment(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Increment(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_IIncrementNumberRounder::Increment(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Increment(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Increment(value)); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter::Format(int64_t value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatInt(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatInt(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter::Format(uint64_t value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatUInt(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatUInt(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter::Format(double value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatDouble(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatDouble(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter2::FormatInt(int64_t value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatInt(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatInt(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter2::FormatUInt(uint64_t value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatUInt(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatUInt(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatter2::FormatDouble(double value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FormatDouble(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FormatDouble(value, &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::Languages() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Languages(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Languages(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::GeographicRegion() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_GeographicRegion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_GeographicRegion(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IntegerDigits() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IntegerDigits(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IntegerDigits(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IntegerDigits(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IntegerDigits(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IntegerDigits(value)); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::FractionDigits() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FractionDigits(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FractionDigits(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::FractionDigits(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_FractionDigits(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_FractionDigits(value)); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IsGrouped() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsGrouped(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsGrouped(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IsGrouped(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsGrouped(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsGrouped(value)); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IsDecimalPointAlwaysDisplayed() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsDecimalPointAlwaysDisplayed(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsDecimalPointAlwaysDisplayed(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::IsDecimalPointAlwaysDisplayed(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsDecimalPointAlwaysDisplayed(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsDecimalPointAlwaysDisplayed(value)); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::NumeralSystem() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NumeralSystem(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NumeralSystem(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::NumeralSystem(param::hstring const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NumeralSystem(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NumeralSystem(*(void**)(&value))); } } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::ResolvedLanguage() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ResolvedLanguage(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ResolvedLanguage(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberFormatterOptions::ResolvedGeographicRegion() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ResolvedGeographicRegion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ResolvedGeographicRegion(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberParser::ParseInt(param::hstring const& text) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ParseInt(*(void**)(&text), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ParseInt(*(void**)(&text), &result)); } return winrt::Windows::Foundation::IReference{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberParser::ParseUInt(param::hstring const& text) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ParseUInt(*(void**)(&text), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ParseUInt(*(void**)(&text), &result)); } return winrt::Windows::Foundation::IReference{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberParser::ParseDouble(param::hstring const& text) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ParseDouble(*(void**)(&text), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ParseDouble(*(void**)(&text), &result)); } return winrt::Windows::Foundation::IReference{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundInt32(int32_t value) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundInt32(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundInt32(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundUInt32(uint32_t value) const { uint32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundUInt32(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundUInt32(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundInt64(int64_t value) const { int64_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundInt64(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundInt64(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundUInt64(uint64_t value) const { uint64_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundUInt64(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundUInt64(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundSingle(float value) const { float result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundSingle(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundSingle(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounder::RoundDouble(double value) const { double result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RoundDouble(value, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RoundDouble(value, &result)); } return result; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounderOption::NumberRounder() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NumberRounder(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NumberRounder(&value)); } return winrt::Windows::Globalization::NumberFormatting::INumberRounder{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumberRounderOption::NumberRounder(winrt::Windows::Globalization::NumberFormatting::INumberRounder const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NumberRounder(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NumberRounder(*(void**)(&value))); } } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslator::Languages() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Languages(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Languages(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslator::ResolvedLanguage() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ResolvedLanguage(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ResolvedLanguage(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslator::NumeralSystem() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NumeralSystem(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NumeralSystem(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslator::NumeralSystem(param::hstring const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NumeralSystem(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NumeralSystem(*(void**)(&value))); } } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslator::TranslateNumerals(param::hstring const& value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TranslateNumerals(*(void**)(&value), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TranslateNumerals(*(void**)(&value), &result)); } return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_INumeralSystemTranslatorFactory::Create(param::iterable const& languages) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&languages), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&languages), &result)); } return winrt::Windows::Globalization::NumberFormatting::NumeralSystemTranslator{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_IPercentFormatterFactory::CreatePercentFormatter(param::iterable const& languages, param::hstring const& geographicRegion) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreatePercentFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreatePercentFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } return winrt::Windows::Globalization::NumberFormatting::PercentFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_IPermilleFormatterFactory::CreatePermilleFormatter(param::iterable const& languages, param::hstring const& geographicRegion) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreatePermilleFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreatePermilleFormatter(*(void**)(&languages), *(void**)(&geographicRegion), &result)); } return winrt::Windows::Globalization::NumberFormatting::PermilleFormatter{ result, take_ownership_from_abi }; } template auto consume_Windows_Globalization_NumberFormatting_ISignedZeroOption::IsZeroSigned() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsZeroSigned(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsZeroSigned(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_ISignedZeroOption::IsZeroSigned(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsZeroSigned(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsZeroSigned(value)); } } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsNumberRounder::RoundingAlgorithm() const { winrt::Windows::Globalization::NumberFormatting::RoundingAlgorithm value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoundingAlgorithm(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoundingAlgorithm(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsNumberRounder::RoundingAlgorithm(winrt::Windows::Globalization::NumberFormatting::RoundingAlgorithm const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoundingAlgorithm(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoundingAlgorithm(static_cast(value))); } } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsNumberRounder::SignificantDigits() const { uint32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SignificantDigits(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SignificantDigits(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsNumberRounder::SignificantDigits(uint32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_SignificantDigits(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_SignificantDigits(value)); } } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsOption::SignificantDigits() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SignificantDigits(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SignificantDigits(&value)); } return value; } template auto consume_Windows_Globalization_NumberFormatting_ISignificantDigitsOption::SignificantDigits(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_SignificantDigits(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_SignificantDigits(value)); } } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Currency(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Currency()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Currency(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Currency(*reinterpret_cast(&value)); 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(); } int32_t __stdcall ApplyRoundingForCurrency(int32_t roundingAlgorithm) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ApplyRoundingForCurrency(*reinterpret_cast(&roundingAlgorithm)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateCurrencyFormatterCode(void* currencyCode, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateCurrencyFormatterCode(*reinterpret_cast(¤cyCode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCurrencyFormatterCodeContext(void* currencyCode, void* languages, void* geographicRegion, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateCurrencyFormatterCodeContext(*reinterpret_cast(¤cyCode), *reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateDecimalFormatter(void* languages, void* geographicRegion, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateDecimalFormatter(*reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RoundingAlgorithm(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoundingAlgorithm()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoundingAlgorithm(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoundingAlgorithm(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Increment(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Increment()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Increment(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Increment(value); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall FormatInt(int64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Format(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FormatUInt(uint64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Format(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FormatDouble(double value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Format(value)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall FormatInt(int64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().FormatInt(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FormatUInt(uint64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().FormatUInt(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FormatDouble(double value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().FormatDouble(value)); return 0; } catch (...) { return to_hresult(); } }; 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_IntegerDigits(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IntegerDigits()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IntegerDigits(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IntegerDigits(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FractionDigits(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FractionDigits()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_FractionDigits(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FractionDigits(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsGrouped(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGrouped()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsGrouped(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsGrouped(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsDecimalPointAlwaysDisplayed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsDecimalPointAlwaysDisplayed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsDecimalPointAlwaysDisplayed(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsDecimalPointAlwaysDisplayed(value); 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_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(); } }; template struct produce : produce_base { int32_t __stdcall ParseInt(void* text, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ParseInt(*reinterpret_cast(&text))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ParseUInt(void* text, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ParseUInt(*reinterpret_cast(&text))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ParseDouble(void* text, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ParseDouble(*reinterpret_cast(&text))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall RoundInt32(int32_t value, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundInt32(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RoundUInt32(uint32_t value, uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundUInt32(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RoundInt64(int64_t value, int64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundInt64(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RoundUInt64(uint64_t value, uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundUInt64(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RoundSingle(float value, float* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundSingle(value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RoundDouble(double value, double* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RoundDouble(value)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_NumberRounder(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NumberRounder()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NumberRounder(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NumberRounder(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #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_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_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 TranslateNumerals(void* value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TranslateNumerals(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* languages, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast const*>(&languages))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreatePercentFormatter(void* languages, void* geographicRegion, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreatePercentFormatter(*reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreatePermilleFormatter(void* languages, void* geographicRegion, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreatePermilleFormatter(*reinterpret_cast const*>(&languages), *reinterpret_cast(&geographicRegion))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_IsZeroSigned(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsZeroSigned()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsZeroSigned(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsZeroSigned(value); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RoundingAlgorithm(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoundingAlgorithm()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoundingAlgorithm(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoundingAlgorithm(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SignificantDigits(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SignificantDigits()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SignificantDigits(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SignificantDigits(value); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_SignificantDigits(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SignificantDigits()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SignificantDigits(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SignificantDigits(value); return 0; } catch (...) { return to_hresult(); } }; } WINRT_EXPORT namespace winrt::Windows::Globalization::NumberFormatting { inline CurrencyFormatter::CurrencyFormatter(param::hstring const& currencyCode) : CurrencyFormatter(impl::call_factory([&](ICurrencyFormatterFactory const& f) { return f.CreateCurrencyFormatterCode(currencyCode); })) { } inline CurrencyFormatter::CurrencyFormatter(param::hstring const& currencyCode, param::iterable const& languages, param::hstring const& geographicRegion) : CurrencyFormatter(impl::call_factory([&](ICurrencyFormatterFactory const& f) { return f.CreateCurrencyFormatterCodeContext(currencyCode, languages, geographicRegion); })) { } inline DecimalFormatter::DecimalFormatter() : DecimalFormatter(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline DecimalFormatter::DecimalFormatter(param::iterable const& languages, param::hstring const& geographicRegion) : DecimalFormatter(impl::call_factory([&](IDecimalFormatterFactory const& f) { return f.CreateDecimalFormatter(languages, geographicRegion); })) { } inline IncrementNumberRounder::IncrementNumberRounder() : IncrementNumberRounder(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline NumeralSystemTranslator::NumeralSystemTranslator() : NumeralSystemTranslator(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline NumeralSystemTranslator::NumeralSystemTranslator(param::iterable const& languages) : NumeralSystemTranslator(impl::call_factory([&](INumeralSystemTranslatorFactory const& f) { return f.Create(languages); })) { } inline PercentFormatter::PercentFormatter() : PercentFormatter(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PercentFormatter::PercentFormatter(param::iterable const& languages, param::hstring const& geographicRegion) : PercentFormatter(impl::call_factory([&](IPercentFormatterFactory const& f) { return f.CreatePercentFormatter(languages, geographicRegion); })) { } inline PermilleFormatter::PermilleFormatter() : PermilleFormatter(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline PermilleFormatter::PermilleFormatter(param::iterable const& languages, param::hstring const& geographicRegion) : PermilleFormatter(impl::call_factory([&](IPermilleFormatterFactory const& f) { return f.CreatePermilleFormatter(languages, geographicRegion); })) { } inline SignificantDigitsNumberRounder::SignificantDigitsNumberRounder() : SignificantDigitsNumberRounder(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif