22 #include <type_traits>
40 template<
typename T,
typename U>
44 SPOT_ASSERT(
dynamic_cast<T
>(u));
45 return static_cast<T
>(u);
50 template<
typename T,
typename U>
54 SPOT_ASSERT(std::dynamic_pointer_cast<typename T::element_type>(u));
55 return std::static_pointer_cast<typename T::element_type>(u);
60 template<
typename T,
typename U>
68 return static_cast<T
>(u);
70 return dynamic_cast<T
>(u);
Definition: automata.hh:26