31 #ifndef GOOGLE_PROTOBUF_CASTS_H__ 32 #define GOOGLE_PROTOBUF_CASTS_H__ 57 template<
typename To,
typename From>
80 template<
typename To,
typename From>
90 #if !defined(NDEBUG) && !defined(GOOGLE_PROTOBUF_NO_RTTI) 91 assert(f ==
NULL || dynamic_cast<To>(f) !=
NULL);
93 return static_cast<To
>(
f);
96 template<
typename To,
typename From>
107 #if !defined(NDEBUG) && !defined(GOOGLE_PROTOBUF_NO_RTTI) 109 assert(dynamic_cast<ToAsPointer>(&f) !=
NULL);
111 return *
static_cast<ToAsPointer
>(&
f);
114 template<
typename To,
typename From>
117 bit_cast_with_different_sizes);
119 memcpy(&dest, &from,
sizeof(dest));
133 #endif // GOOGLE_PROTOBUF_CASTS_H__ dest
Definition: upload.py:394
#define GOOGLE_COMPILE_ASSERT(expr, msg)
Definition: macros.h:119
To bit_cast(const From &from)
Definition: casts.h:115
Definition: __init__.py:1
GLfloat f
Definition: gl2.h:417
T type
Definition: type_traits.h:310
Definition: document.h:393
#define NULL
Definition: common_types.h:41
Definition: gflags_completions.h:115
To down_cast(From *f)
Definition: casts.h:81
To implicit_cast(From const &f)
Definition: casts.h:58