Lines Matching refs:Source

88 template <class Dest, class Source>
89 inline Dest bit_cast(const Source& source) { in bit_cast()
92 static_assert(sizeof(Dest) == sizeof(Source), "sizes should be equal"); in bit_cast()
100 template <typename Dest, typename Source>
101 constexpr Dest dchecked_integral_cast(Source source) { in dchecked_integral_cast()
105 static_cast<intmax_t>(std::numeric_limits<Source>::min()) || in dchecked_integral_cast()
106 source >= static_cast<Source>(std::numeric_limits<Dest>::min())) && in dchecked_integral_cast()
109 static_cast<uintmax_t>(std::numeric_limits<Source>::max()) || in dchecked_integral_cast()
110 source <= static_cast<Source>(std::numeric_limits<Dest>::max()))) in dchecked_integral_cast()
122 template <typename Dest, typename Source>
124 typename std::enable_if<!std::is_enum<Source>::value, Dest>::type
125 enum_cast(Source value) { in enum_cast()
130 template <typename Dest = void, typename Source>
132 typename std::enable_if<std::is_enum<Source>::value,
134 std::underlying_type<Source>,
136 enum_cast(Source value) { in enum_cast()
138 std::underlying_type<Source>, in enum_cast()
141 static_cast<typename std::underlying_type<Source>::type>(value)); in enum_cast()
147 template <typename Dest, typename Source>
148 inline Dest reinterpret_cast64(Source source) { in reinterpret_cast64()
150 static_assert(std::is_same<Source, int64_t>::value || std::is_same<Source, uint64_t>::value, in reinterpret_cast64()
154 DCHECK_EQ(static_cast<Source>(static_cast<uintptr_t>(source)), source); in reinterpret_cast64()
158 template <typename Dest, typename Source>
159 inline Dest reinterpret_cast64(Source* ptr) { in reinterpret_cast64()
170 template <typename Dest, typename Source>
171 inline Dest reinterpret_cast32(Source source) { in reinterpret_cast32()
173 static_assert(std::is_same<Source, int32_t>::value || std::is_same<Source, uint32_t>::value, in reinterpret_cast32()
177 static_assert(sizeof(uintptr_t) >= sizeof(Source), "Expecting at least 32-bit pointers."); in reinterpret_cast32()
181 template <typename Dest, typename Source>
182 inline Dest reinterpret_cast32(Source* ptr) { in reinterpret_cast32()