1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef BOOST_NUMERIC_SAFE_COMMON_HPP
- #define BOOST_NUMERIC_SAFE_COMMON_HPP
- // Copyright (c) 2012 Robert Ramey
- //
- // Distributed under the Boost Software License, Version 1.0. (See
- // accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- #include <type_traits>
- namespace boost {
- namespace safe_numerics {
- // default implementations for required meta-functions
- template<typename T>
- struct is_safe : public std::false_type
- {};
- template<typename T>
- struct base_type {
- using type = T;
- };
- template<class T>
- constexpr const typename base_type<T>::type & base_value(const T & t) {
- return static_cast<const typename base_type<T>::type & >(t);
- }
- template<typename T>
- struct get_promotion_policy {
- using type = void;
- };
- template<typename T>
- struct get_exception_policy {
- using type = void;
- };
- } // safe_numerics
- } // boost
- #endif // BOOST_NUMERIC_SAFE_COMMON_HPP
|