// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Windows_Foundation_2_H #define WINRT_Microsoft_Windows_Foundation_2_H #include "winrt/impl/Microsoft.Windows.Foundation.1.h" WINRT_EXPORT namespace winrt::Microsoft::Windows::Foundation { struct DecimalValue { uint16_t Reserved{}; uint8_t Scale{}; uint8_t Sign{}; uint32_t Hi32{}; uint64_t Lo64{}; }; inline bool operator==(DecimalValue const& left, DecimalValue const& right) noexcept { return left.Reserved == right.Reserved && left.Scale == right.Scale && left.Sign == right.Sign && left.Hi32 == right.Hi32 && left.Lo64 == right.Lo64; } inline bool operator!=(DecimalValue const& left, DecimalValue const& right) noexcept { return !(left == right); } struct DecimalHelper { DecimalHelper() = delete; static auto FromBoolean(bool value); static auto FromInt16(int16_t value); static auto FromInt32(int32_t value); static auto FromInt64(int64_t value); static auto FromUInt8(uint8_t value); static auto FromUInt16(uint16_t value); static auto FromUInt32(uint32_t value); static auto FromUInt64(uint64_t value); static auto FromSingle(float value); static auto FromDouble(double value); static auto FromString(param::hstring const& source); static auto FromStringInvariant(param::hstring const& source); static auto FromString(param::hstring const& source, param::hstring const& localeName); static auto TryFromString( param::hstring const& source, winrt::Microsoft::Windows::Foundation::DecimalValue& value); static auto TryFromStringInvariant( param::hstring const& source, winrt::Microsoft::Windows::Foundation::DecimalValue& value); static auto TryFromString( param::hstring const& source, param::hstring const& localeName, winrt::Microsoft::Windows::Foundation::DecimalValue& value); static auto ToBoolean( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToInt16( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToInt32( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToInt64( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToUInt8( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToUInt16( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToUInt32( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToUInt64( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToSingle( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToDouble( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToString( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToStringInvariant( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto ToString( winrt::Microsoft::Windows::Foundation::DecimalValue const& value, param::hstring const& localeName); static auto Equals( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto Compare( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto IsValid( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto IsInteger( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Scale( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Sign( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto MaxScale(); static auto MaxValue(); static auto MinValue(); static auto Negate( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Abs( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Truncate( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Floor( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Ceiling( winrt::Microsoft::Windows::Foundation::DecimalValue const& value); static auto Round( winrt::Microsoft::Windows::Foundation::DecimalValue const& value, int32_t decimalPlaces); static auto Clamp( winrt::Microsoft::Windows::Foundation::DecimalValue const& value, winrt::Microsoft::Windows::Foundation::DecimalValue const& min, winrt::Microsoft::Windows::Foundation::DecimalValue const& max); static auto Add( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto Subtract( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto Multiply( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto Divide( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); static auto Modulo( winrt::Microsoft::Windows::Foundation::DecimalValue const& left, winrt::Microsoft::Windows::Foundation::DecimalValue const& right); }; } #endif