Update of /cvsroot/boost/boost/boost/detail
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10051
Modified Files:
Tag: RC_1_34_0
indirect_traits.hpp
Log Message:
Make is_reference_to_pointer work properly with an abstract class
Index: indirect_traits.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/detail/indirect_traits.hpp,v
retrieving revision 1.3
retrieving revision 1.3.8.1
diff -u -d -r1.3 -r1.3.8.1
--- indirect_traits.hpp 24 Jun 2005 15:04:30 -0000 1.3
+++ indirect_traits.hpp 5 Oct 2006 13:50:47 -0000 1.3.8.1
@@ -388,27 +388,27 @@
outer_no_type reference_to_pointer_helper(...);
template <class T>
-struct is_reference_to_pointer
+struct reference_to_pointer_impl
{
static T t;
BOOST_STATIC_CONSTANT(
bool, value
- = (is_reference<T>::value
- && sizeof((reference_to_pointer_helper)(t)) ==
sizeof(inner_yes_type))
+ = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type))
);
typedef mpl::bool_<value> type;
-
+}
+
+template <class T>
+struct is_reference_to_pointer
+ : mpl::eval_if<is_reference<T>, reference_to_pointer_impl<T>,
mpl::false_>::type
+{
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))
};
template <class T>
struct is_reference_to_function_pointer
- : mpl::if_<
- is_reference<T>
- , is_pointer_to_function_aux<T>
- , mpl::bool_<false>
- >::type
+ : mpl::eval_if<is_reference<T>, is_pointer_to_function_aux<T>,
false_>::type
{
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))
};
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs