LCOV - code coverage report
Current view: top level - usr/include/boost/numeric/conversion - cast.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 2 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       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(__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 boost
      37             : {
      38             :     template <typename Target, typename Source> 
      39           0 :     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 boost::numeric::converter
      44             :             <
      45             :                 Target,
      46             :                 Source, 
      47             :                 conv_traits,
      48             :                 typename cast_traits::overflow_policy, 
      49             :                 typename cast_traits::rounding_policy, 
      50             :                 boost::numeric::raw_converter< conv_traits >,
      51             :                 typename cast_traits::range_checking_policy
      52             :             > converter;
      53           0 :         return converter::convert(arg);
      54             :     }
      55             :     
      56             :     using numeric::bad_numeric_cast;
      57             : } // namespace boost
      58             : 
      59             : #endif
      60             : 
      61             : #endif

Generated by: LCOV version 1.14