BVB Source Codes

mars Show cast.hpp Source code

Return Download mars: download cast.hpp Source code - Download mars Source code - Type:.hpp
  1. //  (c) 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. //    22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn).
  20. //
  21. #ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
  22. #define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
  23.  
  24. #include <boost/detail/workaround.hpp>
  25.  
  26. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
  27.  
  28. #  include<boost/numeric/conversion/detail/old_numeric_cast.hpp>
  29.  
  30. #else
  31.  
  32. #include <boost/type.hpp>
  33. #include <boost/numeric/conversion/converter.hpp>
  34. #include <boost/numeric/conversion/numeric_cast_traits.hpp>
  35.  
  36. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost
  37. {
  38.     template <typename Target, typename Source>
  39.     inline Target numeric_cast( Source arg )
  40.     {
  41.         typedef numeric::conversion_traits<Target, Source>   conv_traits;
  42.         typedef numeric::numeric_cast_traits<Target, Source> cast_traits;
  43.         typedef mars_boost::numeric::converter
  44.             <
  45.                 Target,
  46.                 Source,
  47.                 conv_traits,
  48.                 typename cast_traits::overflow_policy,
  49.                 typename cast_traits::rounding_policy,
  50.                 mars_boost::numeric::raw_converter< conv_traits >,
  51.                 typename cast_traits::range_checking_policy
  52.             > converter;
  53.         return converter::convert(arg);
  54.     }
  55.    
  56.     using numeric::bad_numeric_cast;
  57. } // namespace mars_boost
  58.  
  59. #endif
  60.  
  61. #endif
  62.  
downloadcast.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top