Go to the source code of this file.
|
#define | BASE_NUMERIC_CAST_CASE_DEST_LARGER(DestSigned, SourceSigned, Code) |
|
#define | BASE_NUMERIC_CAST_CASE_SAME_SIZE(DestSigned, SourceSigned, Code) |
|
#define | BASE_NUMERIC_CAST_CASE_SOURCE_LARGER(DestSigned, SourceSigned, Code) |
|
#define | BASE_NUMERIC_CAST_CASE_SPECIALIZATION(A, B, C, D, Code) |
|
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_DEST_LARGER (false, false, true) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_DEST_LARGER (false, true, source >=0) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_DEST_LARGER (true, false, true) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_DEST_LARGER (true, true, true) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SAME_SIZE (false, false, true) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SAME_SIZE (false, true, source >=0) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SAME_SIZE (true, false, source<=static_cast< Source >(max)) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SAME_SIZE (true, true, true) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SOURCE_LARGER (false, false, source<=max) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SOURCE_LARGER (false, true, source >=0 &&source<=max) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SOURCE_LARGER (true, false, source<=static_cast< Source >(max)) |
|
| google::protobuf::python::BASE_NUMERIC_CAST_CASE_SOURCE_LARGER (true, true, source >=min &&source<=max) |
|
template<class Dest , class Source > |
Dest | google::protobuf::python::checked_numeric_cast (Source source) |
|
template<class Dest , class Source > |
bool | google::protobuf::python::IsValidNumericCast (Source source) |
|
◆ BASE_NUMERIC_CAST_CASE_DEST_LARGER
#define BASE_NUMERIC_CAST_CASE_DEST_LARGER |
( |
|
DestSigned, |
|
|
|
SourceSigned, |
|
|
|
Code |
|
) |
| |
◆ BASE_NUMERIC_CAST_CASE_SAME_SIZE
#define BASE_NUMERIC_CAST_CASE_SAME_SIZE |
( |
|
DestSigned, |
|
|
|
SourceSigned, |
|
|
|
Code |
|
) |
| |
Value:
true,
true, DestSigned, SourceSigned,
Code); \
BASE_NUMERIC_CAST_CASE_SPECIALIZATION( \
true,
false, DestSigned, SourceSigned,
Code)
Definition at line 56 of file safe_numerics.h.
◆ BASE_NUMERIC_CAST_CASE_SOURCE_LARGER
#define BASE_NUMERIC_CAST_CASE_SOURCE_LARGER |
( |
|
DestSigned, |
|
|
|
SourceSigned, |
|
|
|
Code |
|
) |
| |
◆ BASE_NUMERIC_CAST_CASE_SPECIALIZATION
#define BASE_NUMERIC_CAST_CASE_SPECIALIZATION |
( |
|
A, |
|
|
|
B, |
|
|
|
C, |
|
|
|
D, |
|
|
|
Code |
|
) |
| |
Value:template <>
struct IsValidNumericCastImpl<
A, B, C, D> { \
template <class Source, class DestBounds> static inline bool Test( \
Source
source, DestBounds min, DestBounds max) { \
} \
}
Definition at line 48 of file safe_numerics.h.