1 /* Boost interval/detail/interval_prototype.hpp file 2 * 3 * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion 4 * 5 * Distributed under the Boost Software License, Version 1.0. 6 * (See accompanying file LICENSE_1_0.txt or 7 * copy at http://www.boost.org/LICENSE_1_0.txt) 8 */ 9 10 #ifndef BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP 11 #define BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP 12 13 namespace boost { 14 namespace numeric { 15 16 namespace interval_lib { 17 18 template<class T> struct rounded_math; 19 template<class T> struct checking_strict; 20 class comparison_error; 21 template<class Rounding, class Checking> struct policies; 22 23 /* 24 * default policies class 25 */ 26 27 template<class T> 28 struct default_policies 29 { 30 typedef policies<rounded_math<T>, checking_strict<T> > type; 31 }; 32 33 } // namespace interval_lib 34 35 template<class T, class Policies = typename interval_lib::default_policies<T>::type > 36 class interval; 37 38 } // namespace numeric 39 } // namespace boost 40 41 #endif // BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP 42