| [29] | 1 | //  © Copyright Fernando Luis Cacciola Carballal 2000-2004 | 
|---|
|  | 2 | //  Use, modification, and distribution is subject to the Boost Software | 
|---|
|  | 3 | //  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | 
|---|
|  | 4 | //  http://www.boost.org/LICENSE_1_0.txt) | 
|---|
|  | 5 |  | 
|---|
|  | 6 | //  See library home page at http://www.boost.org/libs/numeric/conversion | 
|---|
|  | 7 | // | 
|---|
|  | 8 | // Contact the author at: fernando_cacciola@hotmail.com | 
|---|
|  | 9 | // | 
|---|
|  | 10 | // | 
|---|
|  | 11 | //  Revision History | 
|---|
|  | 12 | // | 
|---|
|  | 13 | //    19 Nov 2001 Syntatic changes as suggested by Darin Adler (Fernando Cacciola) | 
|---|
|  | 14 | //    08 Nov 2001 Fixes to accommodate MSVC (Fernando Cacciola) | 
|---|
|  | 15 | //    04 Nov 2001 Fixes to accommodate gcc2.92 (Fernando Cacciola) | 
|---|
|  | 16 | //    30 Oct 2001 Some fixes suggested by Daryle Walker (Fernando Cacciola) | 
|---|
|  | 17 | //    25 Oct 2001 Initial boostification (Fernando Cacciola) | 
|---|
|  | 18 | //    23 Jan 2004 Inital add to cvs (post review)s | 
|---|
|  | 19 | // | 
|---|
|  | 20 | #ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP | 
|---|
|  | 21 | #define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP | 
|---|
|  | 22 |  | 
|---|
|  | 23 | #include <boost/detail/workaround.hpp> | 
|---|
|  | 24 |  | 
|---|
|  | 25 | #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) | 
|---|
|  | 26 |  | 
|---|
|  | 27 | #  include<boost/numeric/conversion/detail/old_numeric_cast.hpp> | 
|---|
|  | 28 |  | 
|---|
|  | 29 | #else | 
|---|
|  | 30 |  | 
|---|
|  | 31 | #include <boost/type.hpp> | 
|---|
|  | 32 | #include <boost/numeric/conversion/converter.hpp> | 
|---|
|  | 33 |  | 
|---|
|  | 34 | namespace boost | 
|---|
|  | 35 | { | 
|---|
|  | 36 | template<typename Target, typename Source> | 
|---|
|  | 37 | inline | 
|---|
|  | 38 | Target numeric_cast ( Source arg ) | 
|---|
|  | 39 | { | 
|---|
|  | 40 | typedef boost::numeric::converter<Target,Source> Converter ; | 
|---|
|  | 41 | return Converter::convert(arg); | 
|---|
|  | 42 | } | 
|---|
|  | 43 |  | 
|---|
|  | 44 | using numeric::bad_numeric_cast; | 
|---|
|  | 45 |  | 
|---|
|  | 46 | } // namespace boost | 
|---|
|  | 47 |  | 
|---|
|  | 48 | #endif | 
|---|
|  | 49 |  | 
|---|
|  | 50 |  | 
|---|
|  | 51 | #endif | 
|---|