![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <stddef.h>
#include <cmath>
#include <concepts>
#include <limits>
#include <type_traits>
#include "src/base/numerics/safe_conversions_impl.h"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::base |
namespace | v8::base::internal |
Macros | |
#define | BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (0) |
#define | BASE_NUMERIC_COMPARISON_OPERATORS(CLASS, NAME, OP) |
Typedefs | |
using | v8::base::SizeT = StrictNumeric<size_t> |
Functions | |
template<typename Dst , typename Src > requires (IsNumeric<Src> && std::is_arithmetic_v<Dst> && std::numeric_limits<Dst>::lowest() < std::numeric_limits<Dst>::max()) | |
constexpr bool | v8::base::internal::IsValueInRangeForNumericType (Src value) |
template<typename Dst , class CheckHandler = internal::CheckOnFailure, typename Src > requires (IsNumeric<Src> && std::is_arithmetic_v<Dst> && std::numeric_limits<Dst>::lowest() < std::numeric_limits<Dst>::max()) | |
constexpr Dst | v8::base::internal::checked_cast (Src value) |
template<typename Dst , template< typename > class S, typename Src > | |
constexpr Dst | v8::base::internal::saturated_cast_impl (Src value, RangeCheck constraint) |
template<typename Dst , template< typename > class SaturationHandler = SaturationDefaultLimits, typename Src > | |
constexpr Dst | v8::base::internal::saturated_cast (Src value) |
template<typename Dst , typename Src , typename SrcType = UnderlyingType<Src>> requires ( IsNumeric<Src> && std::is_arithmetic_v<Dst> && // If you got here from a compiler error, it's because you tried to assign // from a source type to a destination type that has insufficient range. // The solution may be to change the destination type you're assigning to, // and use one large enough to represent the source. // Alternatively, you may be better served with the checked_cast<> or // saturated_cast<> template functions for your particular use case. kStaticDstRangeRelationToSrcRange<Dst, SrcType> == NumericRangeRepresentation::kContained) | |
constexpr Dst | v8::base::internal::strict_cast (Src value) |
template<typename T > | |
v8::base::internal::StrictNumeric (T) -> StrictNumeric< T > | |
template<typename T > | |
constexpr StrictNumeric< UnderlyingType< T > > | v8::base::internal::MakeStrictNum (const T value) |
template<typename Dst = int, typename Src > requires (std::integral<Dst> && std::floating_point<Src>) | |
Dst | v8::base::ClampFloor (Src value) |
template<typename Dst = int, typename Src > requires (std::integral<Dst> && std::floating_point<Src>) | |
Dst | v8::base::ClampCeil (Src value) |
template<typename Dst = int, typename Src > requires (std::integral<Dst> && std::floating_point<Src>) | |
Dst | v8::base::ClampRound (Src value) |
Variables | |
template<typename Dst , typename Src > | |
constexpr bool | v8::base::internal::kIsNumericRangeContained = false |
template<typename Dst , typename Src > | |
constexpr bool | v8::base::internal::kIsNumericRangeContained< Dst, Src > |
#define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (0) |
Definition at line 24 of file safe_conversions.h.
Definition at line 314 of file safe_conversions.h.