| 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-functionstemplate<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
 |