Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
base::internal::DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED, NUMERIC_RANGE_NOT_CONTAINED > Struct Template Reference

#include <safe_conversions_impl.h>

Static Public Member Functions

static constexpr RangeCheck Check (Src value)
 

Detailed Description

template<typename Dst, typename Src, template< typename > class Bounds>
struct base::internal::DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED, NUMERIC_RANGE_NOT_CONTAINED >

Definition at line 372 of file safe_conversions_impl.h.

Member Function Documentation

◆ Check()

template<typename Dst , typename Src , template< typename > class Bounds>
static constexpr RangeCheck base::internal::DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED, NUMERIC_RANGE_NOT_CONTAINED >::Check ( Src  value)
inlinestaticconstexpr

Definition at line 378 of file safe_conversions_impl.h.

378 {
379 using SrcLimits = std::numeric_limits<Src>;
380 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
381 using Promotion = decltype(Src() + Dst());
382 return RangeCheck(
383 value >= Src(0) && (DstLimits::lowest() == 0 ||
384 static_cast<Dst>(value) >= DstLimits::lowest()),
385 static_cast<Promotion>(SrcLimits::max()) <=
386 static_cast<Promotion>(DstLimits::max()) ||
387 static_cast<Promotion>(value) <=
388 static_cast<Promotion>(DstLimits::max()));
389 }

The documentation for this struct was generated from the following file: