[#mp_units-utility-safe_int-07-2constructor-03] = xref:mp_units.adoc[mp_units]::xref:mp_units/utility.adoc[utility]::xref:mp_units/utility/safe_int-07.adoc[safe_int]::safe_int :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<mp‐units/utility/safe_int.h>` Default constructor [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[nodiscard]] xref:mp_units/utility/safe_int-07/2constructor-01.adoc[safe_int]() = default; ---- [.small]#xref:mp_units/utility/safe_int-07/2constructor-01.adoc[_» more..._]# Construct from `safe_int` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template</* implementation-defined */ U> [[nodiscard]] constexpr explicit(!detail::is_value_preserving_int_v<U, T>) xref:mp_units/utility/safe_int-07/2constructor-06.adoc[safe_int](xref:mp_units/utility/safe_int-07.adoc[safe_int<U, ErrorPolicy>] other); ---- [.small]#xref:mp_units/utility/safe_int-07/2constructor-06.adoc[_» more..._]# Construct from `U` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires (!treat_as_floating_point<std::remove_cvref_t<U>>) && std::is_constructible_v<T, U> [[nodiscard]] constexpr explicit(!detail::is_value_preserving_v<std::remove_cvref_t<U>, T> || !std::convertible_to<U, T>) xref:mp_units/utility/safe_int-07/2constructor-0b.adoc[safe_int](U const& v); ---- [.small]#xref:mp_units/utility/safe_int-07/2constructor-0b.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#