#ifndef BOOST_NUMERIC_CONCEPT_PROMOTION_POLICY_HPP #define BOOST_NUMERIC_CONCEPT_PROMOTION_POLICY_HPP // Copyright (c) 2015 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) namespace boost { namespace safe_numerics { template struct PromotionPolicy { using T = int; using U = int; using a_type = typename PP::template addition_result; using s_type = typename PP::template subtraction_result; using m_type = typename PP::template multiplication_result; using d_type = typename PP::template division_result; using mod_type = typename PP::template modulus_result; using ls_type = typename PP::template left_shift_result; using rs_type = typename PP::template right_shift_result; using cc_type = typename PP::template comparison_result; using baw_type = typename PP::template bitwise_and_result; using bow_type = typename PP::template bitwise_or_result; using bxw_type = typename PP::template bitwise_xor_result; }; } // safe_numerics } // boost #endif // BOOST_NUMERIC_CONCEPT_EXCEPTION_POLICY_HPP