Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
pdfium::internal::NarrowingRange< Dst, Src, Bounds > Struct Template Reference

#include <safe_conversions_impl.h>

Collaboration diagram for pdfium::internal::NarrowingRange< Dst, Src, Bounds >:

Public Types

using SrcLimits = std::numeric_limits<Src>
using DstLimits = typename std::numeric_limits<Dst>

Static Public Member Functions

template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
static constexpr T Adjust (T value)
template<typename T, typename std::enable_if< std::is_floating_point< T >::value >::type * = nullptr>
static constexpr T Adjust (T value)
static constexpr Dst max ()
static constexpr Dst lowest ()

Static Public Attributes

static const int kShift

Detailed Description

template<typename Dst, typename Src, template< typename > class Bounds>
struct pdfium::internal::NarrowingRange< Dst, Src, Bounds >

Definition at line 229 of file safe_conversions_impl.h.

Member Typedef Documentation

◆ DstLimits

template<typename Dst, typename Src, template< typename > class Bounds>
using pdfium::internal::NarrowingRange< Dst, Src, Bounds >::DstLimits = typename std::numeric_limits<Dst>

Definition at line 231 of file safe_conversions_impl.h.

◆ SrcLimits

template<typename Dst, typename Src, template< typename > class Bounds>
using pdfium::internal::NarrowingRange< Dst, Src, Bounds >::SrcLimits = std::numeric_limits<Src>

Definition at line 230 of file safe_conversions_impl.h.

Member Function Documentation

◆ Adjust() [1/2]

template<typename Dst, typename Src, template< typename > class Bounds>
template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
constexpr T pdfium::internal::NarrowingRange< Dst, Src, Bounds >::Adjust ( T value)
inlinestaticconstexpr

Definition at line 245 of file safe_conversions_impl.h.

References kShift.

◆ Adjust() [2/2]

template<typename Dst, typename Src, template< typename > class Bounds>
template<typename T, typename std::enable_if< std::is_floating_point< T >::value >::type * = nullptr>
constexpr T pdfium::internal::NarrowingRange< Dst, Src, Bounds >::Adjust ( T value)
inlinestaticconstexpr

Definition at line 257 of file safe_conversions_impl.h.

References kShift.

◆ lowest()

template<typename Dst, typename Src, template< typename > class Bounds>
constexpr Dst pdfium::internal::NarrowingRange< Dst, Src, Bounds >::lowest ( )
inlinestaticconstexpr

Definition at line 264 of file safe_conversions_impl.h.

◆ max()

template<typename Dst, typename Src, template< typename > class Bounds>
constexpr Dst pdfium::internal::NarrowingRange< Dst, Src, Bounds >::max ( )
inlinestaticconstexpr

Definition at line 263 of file safe_conversions_impl.h.

Member Data Documentation

◆ kShift

template<typename Dst, typename Src, template< typename > class Bounds>
const int pdfium::internal::NarrowingRange< Dst, Src, Bounds >::kShift
static
Initial value:
=
SrcLimits::digits < DstLimits::digits)
? (DstLimits::digits - SrcLimits::digits)
: 0

Definition at line 234 of file safe_conversions_impl.h.

Referenced by Adjust().


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