| 68 | #if (__cplusplus < 201703L) |
| 69 | template<class TO, class FROM> |
| 70 | std::shared_ptr<TO> reinterpret_pointer_cast(const std::shared_ptr<FROM>& from) noexcept |
| 71 | { |
| 72 | auto to = reinterpret_cast<typename std::shared_ptr<TO>::element_type*>(from.get()); |
| 73 | return std::shared_ptr<TO>(from, to); |
| 74 | } |
| 75 | #endif |
| 76 | } //std |
| 77 |