8 #ifndef DXLE_INC_ALGORITHM_CAST_IF_HPP_ 9 #define DXLE_INC_ALGORITHM_CAST_IF_HPP_ 15 template<
typename from,
typename to,
bool do_cast,
16 bool is_nothrow_move_constructible =
17 std::is_nothrow_move_constructible<from>::value>
22 return static_cast<double>(n);
26 template<
typename from,
typename to>
35 template<
typename from,
typename to>
51 template<
typename from,
typename to,
bool do_cast>
55 std::move(std::declval<from>())
62 template<
typename from,
typename to,
bool do_cast>
65 dxle::detail::static_cast_if_helper<to, from, do_cast>()(
66 std::move(
std::declval<from>())
73 #endif //DXLE_INC_ALGORITHM_CAST_IF_HPP_
DXLE_CONSTEXPR to operator()(const from &n) const DXLE_NOEXCEPT_IF_EXPR(static_cast< double >(std
DXLE_CONSTEXPR to operator()(from &&n) const DXLE_NOEXCEPT_OR_NOTHROW
#define DXLE_NOEXCEPT_IF_EXPR(EXPR)
DXLE_CONSTEXPR to operator()(const from &n) const DXLE_NOEXCEPT_IF(std
#define DXLE_NOEXCEPT_IF(COND)
#define DXLE_NOEXCEPT_OR_NOTHROW
DXLE_CONSTEXPR to operator()(const from &n) const DXLE_NOEXCEPT_IF(std
DXLE_CONSTEXPR to static_cast_if(const from &n) DXLE_NOEXCEPT_IF_EXPR((dxle