Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //
0002 //! Copyright (c) 2011-2012
0003 //! Brandon Kohn
0004 //
0005 //  Distributed under the Boost Software License, Version 1.0. (See
0006 //  accompanying file LICENSE_1_0.txt or copy at
0007 //  http://www.boost.org/LICENSE_1_0.txt)
0008 //
0009 namespace boost { namespace numeric {
0010     
0011     
0012     template <>
0013     struct numeric_cast_traits
0014         <
0015             char
0016           , boost::long_long_type
0017         >
0018     {
0019         typedef def_overflow_handler overflow_policy;
0020         typedef UseInternalRangeChecker range_checking_policy;
0021         typedef Trunc<boost::long_long_type> rounding_policy;
0022     }; 
0023     
0024     template <>
0025     struct numeric_cast_traits
0026         <
0027             char
0028           , boost::ulong_long_type
0029         >
0030     {
0031         typedef def_overflow_handler overflow_policy;
0032         typedef UseInternalRangeChecker range_checking_policy;
0033         typedef Trunc<boost::ulong_long_type> rounding_policy;
0034     }; 
0035     
0036     template <>
0037     struct numeric_cast_traits
0038         <
0039             signed char
0040           , boost::long_long_type
0041         >
0042     {
0043         typedef def_overflow_handler overflow_policy;
0044         typedef UseInternalRangeChecker range_checking_policy;
0045         typedef Trunc<boost::long_long_type> rounding_policy;
0046     }; 
0047     
0048     template <>
0049     struct numeric_cast_traits
0050         <
0051             signed char
0052           , boost::ulong_long_type
0053         >
0054     {
0055         typedef def_overflow_handler overflow_policy;
0056         typedef UseInternalRangeChecker range_checking_policy;
0057         typedef Trunc<boost::ulong_long_type> rounding_policy;
0058     }; 
0059     
0060     template <>
0061     struct numeric_cast_traits
0062         <
0063             unsigned char
0064           , boost::long_long_type
0065         >
0066     {
0067         typedef def_overflow_handler overflow_policy;
0068         typedef UseInternalRangeChecker range_checking_policy;
0069         typedef Trunc<boost::long_long_type> rounding_policy;
0070     }; 
0071     
0072     template <>
0073     struct numeric_cast_traits
0074         <
0075             unsigned char
0076           , boost::ulong_long_type
0077         >
0078     {
0079         typedef def_overflow_handler overflow_policy;
0080         typedef UseInternalRangeChecker range_checking_policy;
0081         typedef Trunc<boost::ulong_long_type> rounding_policy;
0082     }; 
0083     
0084     template <>
0085     struct numeric_cast_traits
0086         <
0087             short
0088           , boost::long_long_type
0089         >
0090     {
0091         typedef def_overflow_handler overflow_policy;
0092         typedef UseInternalRangeChecker range_checking_policy;
0093         typedef Trunc<boost::long_long_type> rounding_policy;
0094     }; 
0095     
0096     template <>
0097     struct numeric_cast_traits
0098         <
0099             short
0100           , boost::ulong_long_type
0101         >
0102     {
0103         typedef def_overflow_handler overflow_policy;
0104         typedef UseInternalRangeChecker range_checking_policy;
0105         typedef Trunc<boost::ulong_long_type> rounding_policy;
0106     }; 
0107     
0108     template <>
0109     struct numeric_cast_traits
0110         <
0111             unsigned short
0112           , boost::long_long_type
0113         >
0114     {
0115         typedef def_overflow_handler overflow_policy;
0116         typedef UseInternalRangeChecker range_checking_policy;
0117         typedef Trunc<boost::long_long_type> rounding_policy;
0118     }; 
0119     
0120     template <>
0121     struct numeric_cast_traits
0122         <
0123             unsigned short
0124           , boost::ulong_long_type
0125         >
0126     {
0127         typedef def_overflow_handler overflow_policy;
0128         typedef UseInternalRangeChecker range_checking_policy;
0129         typedef Trunc<boost::ulong_long_type> rounding_policy;
0130     }; 
0131     
0132     template <>
0133     struct numeric_cast_traits
0134         <
0135             int
0136           , boost::long_long_type
0137         >
0138     {
0139         typedef def_overflow_handler overflow_policy;
0140         typedef UseInternalRangeChecker range_checking_policy;
0141         typedef Trunc<boost::long_long_type> rounding_policy;
0142     }; 
0143     
0144     template <>
0145     struct numeric_cast_traits
0146         <
0147             int
0148           , boost::ulong_long_type
0149         >
0150     {
0151         typedef def_overflow_handler overflow_policy;
0152         typedef UseInternalRangeChecker range_checking_policy;
0153         typedef Trunc<boost::ulong_long_type> rounding_policy;
0154     }; 
0155     
0156     template <>
0157     struct numeric_cast_traits
0158         <
0159             unsigned int
0160           , boost::long_long_type
0161         >
0162     {
0163         typedef def_overflow_handler overflow_policy;
0164         typedef UseInternalRangeChecker range_checking_policy;
0165         typedef Trunc<boost::long_long_type> rounding_policy;
0166     }; 
0167     
0168     template <>
0169     struct numeric_cast_traits
0170         <
0171             unsigned int
0172           , boost::ulong_long_type
0173         >
0174     {
0175         typedef def_overflow_handler overflow_policy;
0176         typedef UseInternalRangeChecker range_checking_policy;
0177         typedef Trunc<boost::ulong_long_type> rounding_policy;
0178     }; 
0179     
0180     template <>
0181     struct numeric_cast_traits
0182         <
0183             long
0184           , boost::long_long_type
0185         >
0186     {
0187         typedef def_overflow_handler overflow_policy;
0188         typedef UseInternalRangeChecker range_checking_policy;
0189         typedef Trunc<boost::long_long_type> rounding_policy;
0190     }; 
0191     
0192     template <>
0193     struct numeric_cast_traits
0194         <
0195             long
0196           , boost::ulong_long_type
0197         >
0198     {
0199         typedef def_overflow_handler overflow_policy;
0200         typedef UseInternalRangeChecker range_checking_policy;
0201         typedef Trunc<boost::ulong_long_type> rounding_policy;
0202     }; 
0203     
0204     template <>
0205     struct numeric_cast_traits
0206         <
0207             unsigned long
0208           , boost::long_long_type
0209         >
0210     {
0211         typedef def_overflow_handler overflow_policy;
0212         typedef UseInternalRangeChecker range_checking_policy;
0213         typedef Trunc<boost::long_long_type> rounding_policy;
0214     }; 
0215     
0216     template <>
0217     struct numeric_cast_traits
0218         <
0219             unsigned long
0220           , boost::ulong_long_type
0221         >
0222     {
0223         typedef def_overflow_handler overflow_policy;
0224         typedef UseInternalRangeChecker range_checking_policy;
0225         typedef Trunc<boost::ulong_long_type> rounding_policy;
0226     }; 
0227     
0228     template <>
0229     struct numeric_cast_traits
0230         <
0231             float
0232           , boost::long_long_type
0233         >
0234     {
0235         typedef def_overflow_handler overflow_policy;
0236         typedef UseInternalRangeChecker range_checking_policy;
0237         typedef Trunc<boost::long_long_type> rounding_policy;
0238     }; 
0239     
0240     template <>
0241     struct numeric_cast_traits
0242         <
0243             float
0244           , boost::ulong_long_type
0245         >
0246     {
0247         typedef def_overflow_handler overflow_policy;
0248         typedef UseInternalRangeChecker range_checking_policy;
0249         typedef Trunc<boost::ulong_long_type> rounding_policy;
0250     }; 
0251     
0252     template <>
0253     struct numeric_cast_traits
0254         <
0255             double
0256           , boost::long_long_type
0257         >
0258     {
0259         typedef def_overflow_handler overflow_policy;
0260         typedef UseInternalRangeChecker range_checking_policy;
0261         typedef Trunc<boost::long_long_type> rounding_policy;
0262     }; 
0263     
0264     template <>
0265     struct numeric_cast_traits
0266         <
0267             double
0268           , boost::ulong_long_type
0269         >
0270     {
0271         typedef def_overflow_handler overflow_policy;
0272         typedef UseInternalRangeChecker range_checking_policy;
0273         typedef Trunc<boost::ulong_long_type> rounding_policy;
0274     }; 
0275     
0276     template <>
0277     struct numeric_cast_traits
0278         <
0279             long double
0280           , boost::long_long_type
0281         >
0282     {
0283         typedef def_overflow_handler overflow_policy;
0284         typedef UseInternalRangeChecker range_checking_policy;
0285         typedef Trunc<boost::long_long_type> rounding_policy;
0286     }; 
0287     
0288     template <>
0289     struct numeric_cast_traits
0290         <
0291             long double
0292           , boost::ulong_long_type
0293         >
0294     {
0295         typedef def_overflow_handler overflow_policy;
0296         typedef UseInternalRangeChecker range_checking_policy;
0297         typedef Trunc<boost::ulong_long_type> rounding_policy;
0298     }; 
0299     
0300     template <>
0301     struct numeric_cast_traits
0302         <
0303             boost::long_long_type
0304           , boost::long_long_type
0305         >
0306     {
0307         typedef def_overflow_handler overflow_policy;
0308         typedef UseInternalRangeChecker range_checking_policy;
0309         typedef Trunc<boost::long_long_type> rounding_policy;
0310     }; 
0311     
0312     template <>
0313     struct numeric_cast_traits
0314         <
0315             boost::long_long_type
0316           , boost::ulong_long_type
0317         >
0318     {
0319         typedef def_overflow_handler overflow_policy;
0320         typedef UseInternalRangeChecker range_checking_policy;
0321         typedef Trunc<boost::ulong_long_type> rounding_policy;
0322     }; 
0323     
0324     template <>
0325     struct numeric_cast_traits
0326         <
0327             boost::ulong_long_type
0328           , boost::long_long_type
0329         >
0330     {
0331         typedef def_overflow_handler overflow_policy;
0332         typedef UseInternalRangeChecker range_checking_policy;
0333         typedef Trunc<boost::long_long_type> rounding_policy;
0334     }; 
0335     
0336     template <>
0337     struct numeric_cast_traits
0338         <
0339             boost::ulong_long_type
0340           , boost::ulong_long_type
0341         >
0342     {
0343         typedef def_overflow_handler overflow_policy;
0344         typedef UseInternalRangeChecker range_checking_policy;
0345         typedef Trunc<boost::ulong_long_type> rounding_policy;
0346     }; 
0347 }}