|
From: Matthias S. <mat...@us...> - 2007-03-29 16:55:53
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/units/detail In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6421/detail Modified Files: conversion_impl.hpp Log Message: renamed define_reverse_automatically -> trivial_inverse_conversion Index: conversion_impl.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/units/detail/conversion_impl.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- conversion_impl.hpp 29 Mar 2007 00:31:27 -0000 1.2 +++ conversion_impl.hpp 29 Mar 2007 16:55:50 -0000 1.3 @@ -94,32 +94,36 @@ struct identity_conversion : trivial_conversion, implicitly_convertible {}; -struct define_reverse_automatically {}; +struct trivial_inverse_conversion { }; -struct undefined_conversion {}; +struct undefined_conversion { }; template<class Converter> -struct reverse_conversion - : mpl::if_<is_base_and_derived<implicitly_convertible, Converter>, implicitly_convertible, undefined_conversion>::type { +struct reverse_conversion : + public mpl::if_<is_base_and_derived<implicitly_convertible, Converter>, implicitly_convertible, undefined_conversion>::type +{ typedef typename Converter::type type; - static type value() { + + static type value() + { return(one()/Converter::value()); } }; template<class Dimension, class Tag1, class Tag2> struct base_unit_converter : - mpl::eval_if<is_same<Tag1, Tag2>, + public mpl::eval_if<is_same<Tag1, Tag2>, mpl::identity<identity_conversion>, mpl::if_< is_base_and_derived< - define_reverse_automatically, + trivial_inverse_conversion, base_unit_converter<Dimension,Tag2,Tag1> >, reverse_conversion<base_unit_converter<Dimension,Tag2,Tag1> >, undefined_conversion > - >::type {}; + >::type +{ }; template<class Tag,class System1,class System2> struct base_unit_is_implicitly_convertible : |