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 Namespace Reference

Classes

struct  ArithmeticOrUnderlyingEnum
struct  ArithmeticOrUnderlyingEnum< T, false >
struct  ArithmeticOrUnderlyingEnum< T, true >
struct  BigEnoughPromotion
struct  BigEnoughPromotion< Lhs, Rhs, false, false >
struct  BigEnoughPromotion< Lhs, Rhs, is_intmax_type, true >
struct  BigEnoughPromotion< Lhs, Rhs, true, false >
struct  CheckedAddFastOp
struct  CheckedAddOp
struct  CheckedAddOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedAndOp
struct  CheckedAndOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedDivOp
struct  CheckedDivOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedLshOp
struct  CheckedLshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedMaxOp
struct  CheckedMaxOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type >
struct  CheckedMinOp
struct  CheckedMinOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type >
struct  CheckedModOp
struct  CheckedModOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedMulFastAsmOp
struct  CheckedMulFastOp
struct  CheckedMulOp
struct  CheckedMulOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
class  CheckedNumeric
class  CheckedNumericState
class  CheckedNumericState< T, NUMERIC_FLOATING >
class  CheckedNumericState< T, NUMERIC_INTEGER >
struct  CheckedOrOp
struct  CheckedOrOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedRshOp
struct  CheckedRshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedSubFastOp
struct  CheckedSubOp
struct  CheckedSubOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckedXorOp
struct  CheckedXorOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  CheckOnFailure
struct  ClampedAddFastAsmOp
struct  ClampedAddFastOp
struct  ClampedAddOp
struct  ClampedAddOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedAndOp
struct  ClampedAndOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedDivOp
struct  ClampedDivOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedLshOp
struct  ClampedLshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedMaxOp
struct  ClampedMaxOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type >
struct  ClampedMinOp
struct  ClampedMinOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type >
struct  ClampedModOp
struct  ClampedModOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedMulFastAsmOp
struct  ClampedMulFastOp
struct  ClampedMulOp
struct  ClampedMulOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedNegFastOp
class  ClampedNumeric
struct  ClampedOrOp
struct  ClampedOrOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedRshOp
struct  ClampedRshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedSubFastAsmOp
struct  ClampedSubFastOp
struct  ClampedSubOp
struct  ClampedSubOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  ClampedXorOp
struct  ClampedXorOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type >
struct  DstRangeRelationToSrcRangeImpl
struct  DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, DstSign, SrcSign, NUMERIC_RANGE_CONTAINED >
struct  DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_SIGNED, INTEGER_REPRESENTATION_SIGNED, NUMERIC_RANGE_NOT_CONTAINED >
struct  DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_SIGNED, INTEGER_REPRESENTATION_UNSIGNED, NUMERIC_RANGE_NOT_CONTAINED >
struct  DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED, NUMERIC_RANGE_NOT_CONTAINED >
struct  DstRangeRelationToSrcRangeImpl< Dst, Src, Bounds, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_UNSIGNED, NUMERIC_RANGE_NOT_CONTAINED >
struct  FastIntegerArithmeticPromotion
struct  FastIntegerArithmeticPromotion< Lhs, Rhs, false >
struct  FastIntegerArithmeticPromotion< Lhs, Rhs, true >
struct  GetNumericRepresentation
struct  HasContains
struct  HasContains< Container, Element, std::void_t< decltype(std::declval< const Container & >().contains(std::declval< const Element & >()))> >
struct  HasFindWithEnd
struct  HasFindWithEnd< Container, Element, std::void_t< decltype(std::declval< const Container & >().find(std::declval< const Element & >()) !=std::declval< const Container & >().end())> >
struct  HasFindWithNpos
struct  HasFindWithNpos< Container, Element, std::void_t< decltype(std::declval< const Container & >().find(std::declval< const Element & >()) !=Container::npos)> >
struct  HasKeyType
struct  HasKeyType< T, std::void_t< typename T::key_type > >
struct  IntegerBitsPlusSign
struct  IntegerForDigitsAndSign
struct  is_iterator
struct  is_iterator< T, std::void_t< typename std::iterator_traits< T >::iterator_category > >
struct  IsCheckedOp
struct  IsClampedOp
struct  IsEqual
struct  IsGreater
struct  IsGreaterOrEqual
struct  IsIntegerArithmeticSafe
struct  IsLess
struct  IsLessOrEqual
struct  IsNotEqual
struct  IsNumericRangeContained
struct  IsNumericRangeContained< Dst, Src, typename std::enable_if< ArithmeticOrUnderlyingEnum< Dst >::value &&ArithmeticOrUnderlyingEnum< Src >::value >::type >
struct  IsSpanImpl
struct  IsSpanImpl< span< T > >
struct  IsStdArrayImpl
struct  IsStdArrayImpl< std::array< T, N > >
struct  IsStrictOp
struct  IsTypeInRangeForNumericType
struct  IsValueInRangeFastOp
struct  IsValueInRangeFastOp< Dst, Src, typename std::enable_if< std::is_integral< Dst >::value &&std::is_integral< Src >::value &&!std::is_signed< Dst >::value &&std::is_signed< Src >::value &&!IsTypeInRangeForNumericType< Dst, Src >::value >::type >
struct  IsValueInRangeFastOp< Dst, Src, typename std::enable_if< std::is_integral< Dst >::value &&std::is_integral< Src >::value &&std::is_signed< Dst >::value &&std::is_signed< Src >::value &&!IsTypeInRangeForNumericType< Dst, Src >::value >::type >
struct  LowestValuePromotion
struct  LowestValuePromotion< Lhs, Rhs, LEFT_PROMOTION >
struct  LowestValuePromotion< Lhs, Rhs, RIGHT_PROMOTION >
struct  MathWrapper
struct  MaxExponent
struct  MaxExponentPromotion
struct  MaxExponentPromotion< Lhs, Rhs, LEFT_PROMOTION >
struct  MaxExponentPromotion< Lhs, Rhs, RIGHT_PROMOTION >
struct  NarrowingRange
struct  PositionOfSignBit
class  RangeCheck
class  ReversedAdapter
struct  SaturateFastAsmOp
struct  SaturateFastOp
struct  SaturateFastOp< Dst, Src, typename std::enable_if< std::is_integral< Src >::value &&std::is_integral< Dst >::value &&!SaturateFastAsmOp< Dst, Src >::is_supported >::type >
struct  SaturateFastOp< Dst, Src, typename std::enable_if< std::is_integral< Src >::value &&std::is_integral< Dst >::value &&SaturateFastAsmOp< Dst, Src >::is_supported >::type >
struct  SaturationDefaultLimits
struct  StaticDstRangeRelationToSrcRange
struct  StaticDstRangeRelationToSrcRange< Dst, Src, INTEGER_REPRESENTATION_SIGNED, INTEGER_REPRESENTATION_UNSIGNED >
struct  StaticDstRangeRelationToSrcRange< Dst, Src, INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED >
struct  StaticDstRangeRelationToSrcRange< Dst, Src, Sign, Sign >
class  StrictNumeric
struct  SupportsOstreamOperator
struct  SupportsOstreamOperator< T, decltype(void(std::declval< std::ostream & >()<< std::declval< T >()))>
struct  TwiceWiderInteger
struct  UnderlyingType
struct  UnderlyingType< CheckedNumeric< T > >
struct  UnderlyingType< ClampedNumeric< T > >
struct  UnderlyingType< StrictNumeric< T > >
struct  UnsignedOrFloatForSize
struct  UnsignedOrFloatForSize< Numeric, false, true >
struct  UnsignedOrFloatForSize< Numeric, true, false >

Typedefs

template<typename T>
using IsSpan = IsSpanImpl<typename std::decay<T>::type>
template<typename T>
using IsStdArray = IsStdArrayImpl<typename std::decay<T>::type>
template<typename From, typename To>
using IsLegalSpanConversion = std::is_convertible<From*, To*>
template<typename Container, typename T>
using ContainerHasConvertibleData
template<typename Container>
using ContainerHasIntegralSize
template<typename From, typename To>
using EnableIfLegalSpanConversion
template<typename Container, typename T>
using EnableIfSpanCompatibleContainer
template<typename Container, typename T>
using EnableIfConstSpanCompatibleContainer

Enumerations

enum  IntegerRepresentation { INTEGER_REPRESENTATION_UNSIGNED , INTEGER_REPRESENTATION_SIGNED }
enum  NumericRangeRepresentation { NUMERIC_RANGE_NOT_CONTAINED , NUMERIC_RANGE_CONTAINED }
enum  ArithmeticPromotionCategory { LEFT_PROMOTION , RIGHT_PROMOTION }
enum  NumericRepresentation { NUMERIC_INTEGER , NUMERIC_FLOATING , NUMERIC_UNKNOWN }

Functions

template<typename Dst, typename Src>
constexpr bool IsValueInRangeForNumericType (Src value)
template<typename Dst, class CheckHandler = internal::CheckOnFailure, typename Src>
constexpr Dst checked_cast (Src value)
template<typename Dst, template< typename > class S, typename Src>
constexpr Dst saturated_cast_impl (Src value, RangeCheck constraint)
template<typename Dst, template< typename > class SaturationHandler = SaturationDefaultLimits, typename Src>
constexpr Dst saturated_cast (Src value)
template<typename Dst, typename Src>
constexpr Dst strict_cast (Src value)
template<typename T>
constexpr StrictNumeric< typename UnderlyingType< T >::typeMakeStrictNum (const T value)
template<typename T, typename std::enable_if< std::is_signed< T >::value >::type * = nullptr>
constexpr bool IsValueNegative (T value)
template<typename T>
constexpr std::make_signed< T >::type ConditionalNegate (T x, bool is_negative)
template<typename T>
constexpr std::make_unsigned< T >::type SafeUnsignedAbs (T value)
template<typename Dst, template< typename > class Bounds = std::numeric_limits, typename Src>
constexpr RangeCheck DstRangeRelationToSrcRange (Src value)
 INTEGER_FOR_DIGITS_AND_SIGN (int8_t)
 INTEGER_FOR_DIGITS_AND_SIGN (uint8_t)
 INTEGER_FOR_DIGITS_AND_SIGN (int16_t)
 INTEGER_FOR_DIGITS_AND_SIGN (uint16_t)
 INTEGER_FOR_DIGITS_AND_SIGN (int32_t)
 INTEGER_FOR_DIGITS_AND_SIGN (uint32_t)
 INTEGER_FOR_DIGITS_AND_SIGN (int64_t)
 INTEGER_FOR_DIGITS_AND_SIGN (uint64_t)
template<typename Src>
constexpr std::make_signed< typenameinternal::UnderlyingType< Src >::type >::type as_signed (const Src value)
template<typename Src>
constexpr std::make_unsigned< typenameinternal::UnderlyingType< Src >::type >::type as_unsigned (const Src value)
template<typename L, typename R>
constexpr bool IsLessImpl (const L lhs, const R rhs, const RangeCheck l_range, const RangeCheck r_range)
template<typename L, typename R>
constexpr bool IsLessOrEqualImpl (const L lhs, const R rhs, const RangeCheck l_range, const RangeCheck r_range)
template<typename L, typename R>
constexpr bool IsGreaterImpl (const L lhs, const R rhs, const RangeCheck l_range, const RangeCheck r_range)
template<typename L, typename R>
constexpr bool IsGreaterOrEqualImpl (const L lhs, const R rhs, const RangeCheck l_range, const RangeCheck r_range)
template<template< typename, typename > class C, typename L, typename R>
constexpr bool SafeCompare (const L lhs, const R rhs)
template<typename Dst, typename Src>
constexpr bool IsMaxInRangeForNumericType ()
template<typename Dst, typename Src>
constexpr bool IsMinInRangeForNumericType ()
template<typename Dst, typename Src>
constexpr Dst CommonMax ()
template<typename Dst, typename Src>
constexpr Dst CommonMin ()
template<typename Dst, typename Src = Dst>
constexpr Dst CommonMaxOrMin (bool is_min)
template<typename Dst, typename Src>
constexpr bool IsValidForType (const CheckedNumeric< Src > value)
template<typename Dst, typename Src>
constexpr StrictNumeric< Dst > ValueOrDieForType (const CheckedNumeric< Src > value)
template<typename Dst, typename Src, typename Default>
constexpr StrictNumeric< Dst > ValueOrDefaultForType (const CheckedNumeric< Src > value, const Default default_value)
template<typename T>
constexpr CheckedNumeric< typename UnderlyingType< T >::typeMakeCheckedNum (const T value)
template<template< typename, typename, typename > class M, typename L, typename R>
constexpr CheckedNumeric< typename MathWrapper< M, L, R >::typeCheckMathOp (const L lhs, const R rhs)
template<template< typename, typename, typename > class M, typename L, typename R, typename... Args>
constexpr auto CheckMathOp (const L lhs, const R rhs, const Args... args)
template<typename L, typename R>
L * operator+ (L *lhs, const StrictNumeric< R > rhs)
template<typename L, typename R>
L * operator- (L *lhs, const StrictNumeric< R > rhs)
template<typename T>
constexpr ClampedNumeric< typename UnderlyingType< T >::typeMakeClampedNum (const T value)
template<template< typename, typename, typename > class M, typename L, typename R>
constexpr ClampedNumeric< typename MathWrapper< M, L, R >::typeClampMathOp (const L lhs, const R rhs)
template<template< typename, typename, typename > class M, typename L, typename R, typename... Args>
constexpr auto ClampMathOp (const L lhs, const R rhs, const Args... args)
template<typename T>
constexpr bool CheckedAddImpl (T x, T y, T *result)
template<typename T>
constexpr bool CheckedSubImpl (T x, T y, T *result)
template<typename T>
constexpr bool CheckedMulImpl (T x, T y, T *result)
template<typename T, typename std::enable_if< std::is_integral< T >::value &&std::is_signed< T >::value >::type * = nullptr>
constexpr T SaturatedNegWrapper (T value)
template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
constexpr T SaturatedAbsWrapper (T value)
template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
constexpr T NegateWrapper (T value)
template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
constexpr std::make_unsigned< T >::type InvertWrapper (T value)
template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
constexpr T AbsWrapper (T value)
voidAlloc2D (size_t w, size_t h, size_t member_size)
voidAllocOrDie (size_t num_members, size_t member_size)
voidAllocOrDie2D (size_t w, size_t h, size_t member_size)
voidCallocOrDie (size_t num_members, size_t member_size)
voidCallocOrDie2D (size_t w, size_t h, size_t member_size)
voidReallocOrDie (void *ptr, size_t num_members, size_t member_size)
voidStringAllocOrDie (size_t num_members, size_t member_size)
voidAlloc (size_t num_members, size_t member_size)
voidCalloc (size_t num_members, size_t member_size)
voidRealloc (void *ptr, size_t num_members, size_t member_size)
void Dealloc (void *ptr)
voidStringAlloc (size_t num_members, size_t member_size)
void StringDealloc (void *ptr)

Variables

constexpr bool kEnableAsmCode = false
constexpr size_t kMallocSizeLimit = std::numeric_limits<int>::max() - (1 << 12)

Typedef Documentation

◆ ContainerHasConvertibleData

template<typename Container, typename T>
using pdfium::internal::ContainerHasConvertibleData
Initial value:
IsLegalSpanConversion<typename std::remove_pointer<decltype(
std::declval<Container>().data())>::type,
T>
std::is_convertible< From *, To * > IsLegalSpanConversion
Definition span.h:55
GLenum type

Definition at line 58 of file span.h.

◆ ContainerHasIntegralSize

template<typename Container>
using pdfium::internal::ContainerHasIntegralSize
Initial value:
std::is_integral<decltype(std::declval<Container>().size())>

Definition at line 63 of file span.h.

◆ EnableIfConstSpanCompatibleContainer

template<typename Container, typename T>
using pdfium::internal::EnableIfConstSpanCompatibleContainer
Initial value:
typename std::enable_if<std::is_const<T>::value &&
std::is_integral< decltype(std::declval< Container >().size())> ContainerHasIntegralSize
Definition span.h:63
IsSpanImpl< typename std::decay< T >::type > IsSpan
Definition span.h:43
IsStdArrayImpl< typename std::decay< T >::type > IsStdArray
Definition span.h:52
IsLegalSpanConversion< typename std::remove_pointer< decltype( std::declval< Container >().data())>::type, T > ContainerHasConvertibleData
Definition span.h:58

Definition at line 90 of file span.h.

◆ EnableIfLegalSpanConversion

template<typename From, typename To>
using pdfium::internal::EnableIfLegalSpanConversion
Initial value:
typename std::enable_if<IsLegalSpanConversion<From, To>::value>::type

Definition at line 67 of file span.h.

◆ EnableIfSpanCompatibleContainer

template<typename Container, typename T>
using pdfium::internal::EnableIfSpanCompatibleContainer
Initial value:

Definition at line 83 of file span.h.

◆ IsLegalSpanConversion

template<typename From, typename To>
using pdfium::internal::IsLegalSpanConversion = std::is_convertible<From*, To*>

Definition at line 55 of file span.h.

◆ IsSpan

template<typename T>
using pdfium::internal::IsSpan = IsSpanImpl<typename std::decay<T>::type>

Definition at line 43 of file span.h.

◆ IsStdArray

template<typename T>
using pdfium::internal::IsStdArray = IsStdArrayImpl<typename std::decay<T>::type>

Definition at line 52 of file span.h.

Enumeration Type Documentation

◆ ArithmeticPromotionCategory

Enumerator
LEFT_PROMOTION 
RIGHT_PROMOTION 

Definition at line 442 of file safe_conversions_impl.h.

◆ IntegerRepresentation

Enumerator
INTEGER_REPRESENTATION_UNSIGNED 
INTEGER_REPRESENTATION_SIGNED 

Definition at line 119 of file safe_conversions_impl.h.

◆ NumericRangeRepresentation

Enumerator
NUMERIC_RANGE_NOT_CONTAINED 
NUMERIC_RANGE_CONTAINED 

Definition at line 129 of file safe_conversions_impl.h.

◆ NumericRepresentation

Enumerator
NUMERIC_INTEGER 
NUMERIC_FLOATING 
NUMERIC_UNKNOWN 

Definition at line 496 of file checked_math_impl.h.

Function Documentation

◆ AbsWrapper()

template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
T pdfium::internal::AbsWrapper ( T value)
constexpr

Definition at line 160 of file safe_math_shared_impl.h.

◆ Alloc()

void * pdfium::internal::Alloc ( size_t num_members,
size_t member_size )

Definition at line 26 of file fx_memory_malloc.cpp.

◆ Alloc2D()

void * pdfium::internal::Alloc2D ( size_t w,
size_t h,
size_t member_size )

Definition at line 134 of file fx_memory.cpp.

◆ AllocOrDie()

void * pdfium::internal::AllocOrDie ( size_t num_members,
size_t member_size )

Definition at line 142 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ AllocOrDie2D()

void * pdfium::internal::AllocOrDie2D ( size_t w,
size_t h,
size_t member_size )

Definition at line 150 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ as_signed()

template<typename Src>
std::make_signed< typenameinternal::UnderlyingType< Src >::type >::type pdfium::internal::as_signed ( const Src value)
constexpr

Definition at line 671 of file safe_conversions_impl.h.

◆ as_unsigned()

template<typename Src>
std::make_unsigned< typenameinternal::UnderlyingType< Src >::type >::type pdfium::internal::as_unsigned ( const Src value)
constexpr

Definition at line 683 of file safe_conversions_impl.h.

◆ Calloc()

void * pdfium::internal::Calloc ( size_t num_members,
size_t member_size )

Definition at line 34 of file fx_memory_malloc.cpp.

◆ CallocOrDie()

void * pdfium::internal::CallocOrDie ( size_t num_members,
size_t member_size )

Definition at line 156 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ CallocOrDie2D()

void * pdfium::internal::CallocOrDie2D ( size_t w,
size_t h,
size_t member_size )

Definition at line 164 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ checked_cast()

template<typename Dst, class CheckHandler = internal::CheckOnFailure, typename Src>
Dst pdfium::internal::checked_cast ( Src value)
constexpr

Definition at line 104 of file safe_conversions.h.

◆ CheckedAddImpl()

template<typename T>
bool pdfium::internal::CheckedAddImpl ( T x,
T y,
T * result )
constexpr

Definition at line 24 of file checked_math_impl.h.

◆ CheckedMulImpl()

template<typename T>
bool pdfium::internal::CheckedMulImpl ( T x,
T y,
T * result )
constexpr

Definition at line 150 of file checked_math_impl.h.

◆ CheckedSubImpl()

template<typename T>
bool pdfium::internal::CheckedSubImpl ( T x,
T y,
T * result )
constexpr

Definition at line 87 of file checked_math_impl.h.

◆ CheckMathOp() [1/2]

template<template< typename, typename, typename > class M, typename L, typename R>
CheckedNumeric< typename MathWrapper< M, L, R >::type > pdfium::internal::CheckMathOp ( const L lhs,
const R rhs )
constexpr

Definition at line 309 of file checked_math.h.

◆ CheckMathOp() [2/2]

template<template< typename, typename, typename > class M, typename L, typename R, typename... Args>
auto pdfium::internal::CheckMathOp ( const L lhs,
const R rhs,
const Args... args )
constexpr

Definition at line 322 of file checked_math.h.

◆ ClampMathOp() [1/2]

template<template< typename, typename, typename > class M, typename L, typename R>
ClampedNumeric< typename MathWrapper< M, L, R >::type > pdfium::internal::ClampMathOp ( const L lhs,
const R rhs )
constexpr

Definition at line 205 of file clamped_math.h.

◆ ClampMathOp() [2/2]

template<template< typename, typename, typename > class M, typename L, typename R, typename... Args>
auto pdfium::internal::ClampMathOp ( const L lhs,
const R rhs,
const Args... args )
constexpr

Definition at line 218 of file clamped_math.h.

◆ CommonMax()

template<typename Dst, typename Src>
Dst pdfium::internal::CommonMax ( )
constexpr

Definition at line 823 of file safe_conversions_impl.h.

◆ CommonMaxOrMin()

template<typename Dst, typename Src = Dst>
Dst pdfium::internal::CommonMaxOrMin ( bool is_min)
constexpr

Definition at line 840 of file safe_conversions_impl.h.

◆ CommonMin()

template<typename Dst, typename Src>
Dst pdfium::internal::CommonMin ( )
constexpr

Definition at line 830 of file safe_conversions_impl.h.

◆ ConditionalNegate()

template<typename T>
std::make_signed< T >::type pdfium::internal::ConditionalNegate ( T x,
bool is_negative )
constexpr

Definition at line 68 of file safe_conversions_impl.h.

◆ Dealloc()

void pdfium::internal::Dealloc ( void * ptr)

Definition at line 50 of file fx_memory_malloc.cpp.

Referenced by TEST(), and TEST().

Here is the caller graph for this function:

◆ DstRangeRelationToSrcRange()

template<typename Dst, template< typename > class Bounds = std::numeric_limits, typename Src>
RangeCheck pdfium::internal::DstRangeRelationToSrcRange ( Src value)
constexpr

Definition at line 401 of file safe_conversions_impl.h.

◆ INTEGER_FOR_DIGITS_AND_SIGN() [1/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( int16_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [2/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( int32_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [3/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( int64_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [4/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( int8_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [5/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( uint16_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [6/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( uint32_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [7/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( uint64_t )

◆ INTEGER_FOR_DIGITS_AND_SIGN() [8/8]

pdfium::internal::INTEGER_FOR_DIGITS_AND_SIGN ( uint8_t )

◆ InvertWrapper()

template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
std::make_unsigned< T >::type pdfium::internal::InvertWrapper ( T value)
constexpr

Definition at line 154 of file safe_math_shared_impl.h.

◆ IsGreaterImpl()

template<typename L, typename R>
bool pdfium::internal::IsGreaterImpl ( const L lhs,
const R rhs,
const RangeCheck l_range,
const RangeCheck r_range )
constexpr

Definition at line 730 of file safe_conversions_impl.h.

References pdfium::internal::RangeCheck::IsOverflow(), pdfium::internal::RangeCheck::IsUnderflow(), and pdfium::internal::RangeCheck::operator==().

Here is the call graph for this function:

◆ IsGreaterOrEqualImpl()

template<typename L, typename R>
bool pdfium::internal::IsGreaterOrEqualImpl ( const L lhs,
const R rhs,
const RangeCheck l_range,
const RangeCheck r_range )
constexpr

Definition at line 750 of file safe_conversions_impl.h.

References pdfium::internal::RangeCheck::IsOverflow(), pdfium::internal::RangeCheck::IsUnderflow(), and pdfium::internal::RangeCheck::operator==().

Here is the call graph for this function:

◆ IsLessImpl()

template<typename L, typename R>
bool pdfium::internal::IsLessImpl ( const L lhs,
const R rhs,
const RangeCheck l_range,
const RangeCheck r_range )
constexpr

Definition at line 690 of file safe_conversions_impl.h.

References pdfium::internal::RangeCheck::IsOverflow(), pdfium::internal::RangeCheck::IsUnderflow(), and pdfium::internal::RangeCheck::operator==().

Here is the call graph for this function:

◆ IsLessOrEqualImpl()

template<typename L, typename R>
bool pdfium::internal::IsLessOrEqualImpl ( const L lhs,
const R rhs,
const RangeCheck l_range,
const RangeCheck r_range )
constexpr

Definition at line 710 of file safe_conversions_impl.h.

References pdfium::internal::RangeCheck::IsOverflow(), pdfium::internal::RangeCheck::IsUnderflow(), and pdfium::internal::RangeCheck::operator==().

Here is the call graph for this function:

◆ IsMaxInRangeForNumericType()

template<typename Dst, typename Src>
bool pdfium::internal::IsMaxInRangeForNumericType ( )
constexpr

Definition at line 811 of file safe_conversions_impl.h.

◆ IsMinInRangeForNumericType()

template<typename Dst, typename Src>
bool pdfium::internal::IsMinInRangeForNumericType ( )
constexpr

Definition at line 817 of file safe_conversions_impl.h.

◆ IsValidForType()

template<typename Dst, typename Src>
bool pdfium::internal::IsValidForType ( const CheckedNumeric< Src > value)
constexpr

Definition at line 280 of file checked_math.h.

◆ IsValueInRangeForNumericType()

template<typename Dst, typename Src>
bool pdfium::internal::IsValueInRangeForNumericType ( Src value)
constexpr

Definition at line 88 of file safe_conversions.h.

◆ IsValueNegative()

template<typename T, typename std::enable_if< std::is_signed< T >::value >::type * = nullptr>
bool pdfium::internal::IsValueNegative ( T value)
constexpr

Definition at line 52 of file safe_conversions_impl.h.

◆ MakeCheckedNum()

template<typename T>
CheckedNumeric< typename UnderlyingType< T >::type > pdfium::internal::MakeCheckedNum ( const T value)
constexpr

Definition at line 300 of file checked_math.h.

◆ MakeClampedNum()

template<typename T>
ClampedNumeric< typename UnderlyingType< T >::type > pdfium::internal::MakeClampedNum ( const T value)
constexpr

Definition at line 196 of file clamped_math.h.

◆ MakeStrictNum()

template<typename T>
StrictNumeric< typename UnderlyingType< T >::type > pdfium::internal::MakeStrictNum ( const T value)
constexpr

Definition at line 321 of file safe_conversions.h.

◆ NegateWrapper()

template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
T pdfium::internal::NegateWrapper ( T value)
constexpr

Definition at line 139 of file safe_math_shared_impl.h.

◆ operator+()

template<typename L, typename R>
L * pdfium::internal::operator+ ( L * lhs,
const StrictNumeric< R > rhs )

Definition at line 343 of file checked_math.h.

◆ operator-()

template<typename L, typename R>
L * pdfium::internal::operator- ( L * lhs,
const StrictNumeric< R > rhs )

Definition at line 351 of file checked_math.h.

◆ Realloc()

void * pdfium::internal::Realloc ( void * ptr,
size_t num_members,
size_t member_size )

Definition at line 42 of file fx_memory_malloc.cpp.

◆ ReallocOrDie()

void * pdfium::internal::ReallocOrDie ( void * ptr,
size_t num_members,
size_t member_size )

Definition at line 171 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ SafeCompare()

template<template< typename, typename > class C, typename L, typename R>
bool pdfium::internal::SafeCompare ( const L lhs,
const R rhs )
constexpr

Definition at line 796 of file safe_conversions_impl.h.

◆ SafeUnsignedAbs()

template<typename T>
std::make_unsigned< T >::type pdfium::internal::SafeUnsignedAbs ( T value)
constexpr

Definition at line 81 of file safe_conversions_impl.h.

◆ saturated_cast()

template<typename Dst, template< typename > class SaturationHandler = SaturationDefaultLimits, typename Src>
Dst pdfium::internal::saturated_cast ( Src value)
constexpr

Definition at line 209 of file safe_conversions.h.

◆ saturated_cast_impl()

template<typename Dst, template< typename > class S, typename Src>
Dst pdfium::internal::saturated_cast_impl ( Src value,
RangeCheck constraint )
constexpr

Definition at line 144 of file safe_conversions.h.

References pdfium::internal::RangeCheck::IsOverflowFlagSet(), and pdfium::internal::RangeCheck::IsUnderflowFlagSet().

Here is the call graph for this function:

◆ SaturatedAbsWrapper()

template<typename T, typename std::enable_if< std::is_integral< T >::value >::type * = nullptr>
T pdfium::internal::SaturatedAbsWrapper ( T value)
constexpr

Definition at line 51 of file clamped_math_impl.h.

◆ SaturatedNegWrapper()

template<typename T, typename std::enable_if< std::is_integral< T >::value &&std::is_signed< T >::value >::type * = nullptr>
T pdfium::internal::SaturatedNegWrapper ( T value)
constexpr

Definition at line 27 of file clamped_math_impl.h.

◆ strict_cast()

template<typename Dst, typename Src>
Dst pdfium::internal::strict_cast ( Src value)
constexpr

Definition at line 225 of file safe_conversions.h.

◆ StringAlloc()

void * pdfium::internal::StringAlloc ( size_t num_members,
size_t member_size )

Definition at line 54 of file fx_memory_malloc.cpp.

◆ StringAllocOrDie()

void * pdfium::internal::StringAllocOrDie ( size_t num_members,
size_t member_size )

Definition at line 179 of file fx_memory.cpp.

References FX_OutOfMemoryTerminate().

Here is the call graph for this function:

◆ StringDealloc()

void pdfium::internal::StringDealloc ( void * ptr)

Definition at line 62 of file fx_memory_malloc.cpp.

Referenced by fxcrt::StringDataTemplate< CharType >::Release().

Here is the caller graph for this function:

◆ ValueOrDefaultForType()

template<typename Dst, typename Src, typename Default>
StrictNumeric< Dst > pdfium::internal::ValueOrDefaultForType ( const CheckedNumeric< Src > value,
const Default default_value )
constexpr

Definition at line 291 of file checked_math.h.

◆ ValueOrDieForType()

template<typename Dst, typename Src>
StrictNumeric< Dst > pdfium::internal::ValueOrDieForType ( const CheckedNumeric< Src > value)
constexpr

Definition at line 285 of file checked_math.h.

Variable Documentation

◆ kEnableAsmCode

bool pdfium::internal::kEnableAsmCode = false
constexpr

Definition at line 99 of file safe_conversions_impl.h.

◆ kMallocSizeLimit

size_t pdfium::internal::kMallocSizeLimit = std::numeric_limits<int>::max() - (1 << 12)
constexpr

Definition at line 24 of file fx_memory_malloc.cpp.