forked from boostorg/typeof
Compare commits
37 Commits
svn-branch
...
boost-1.35
Author | SHA1 | Date | |
---|---|---|---|
2faa821403 | |||
cde21a588d | |||
3ecb3bf102 | |||
1c1ab4c883 | |||
8d8d35c1ae | |||
84ec781ea1 | |||
f7df17a93a | |||
ed21868c25 | |||
c66289f7ac | |||
43b4d4522c | |||
8868adc891 | |||
452b493b7a | |||
eeff4e592c | |||
1b65bfc95d | |||
eda5c4afba | |||
340148f738 | |||
64ba3be86f | |||
d337b0837a | |||
dddbb00da4 | |||
935b36d8f5 | |||
5bd010787a | |||
55ac93f947 | |||
366ab1b621 | |||
aede9c2866 | |||
2b92bbcb21 | |||
dff8a5c505 | |||
a460694e5d | |||
db9203fb0e | |||
9a14e20bc5 | |||
47a4b2a2c1 | |||
337fe1fdf6 | |||
11b18afcce | |||
7cbdf2406a | |||
97b9bda347 | |||
041f9cfd24 | |||
c17f725e5f | |||
35874c8e32 |
@ -153,7 +153,7 @@ namespace boost
|
||||
};
|
||||
};
|
||||
# endif
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,==1310)
|
||||
template<const std::type_info& ref_type_info>
|
||||
struct msvc_typeid_wrapper {
|
||||
typedef typename msvc_extract_type<msvc_typeid_wrapper>::id2type id2type;
|
||||
@ -184,6 +184,7 @@ namespace boost
|
||||
template<typename Organizer, typename T>
|
||||
msvc_register_type<T,Organizer> typeof_register_type(const T&);
|
||||
|
||||
|
||||
# define BOOST_TYPEOF(expr) \
|
||||
boost::type_of::msvc_typeid_wrapper<typeid(boost::type_of::encode_start(expr))>::type
|
||||
|
||||
@ -239,10 +240,18 @@ struct name {\
|
||||
{
|
||||
typedef char(*type)[encode_type<T>::value];
|
||||
};
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
|
||||
template<typename T> typename disable_if<
|
||||
typename is_function<T>::type,
|
||||
typename sizer<T>::type>::type encode_start(T const&);
|
||||
|
||||
template<typename T> typename enable_if<
|
||||
typename is_function<T>::type,
|
||||
typename sizer<T>::type>::type encode_start(T&);
|
||||
# else
|
||||
template<typename T>
|
||||
typename sizer<T>::type encode_start(T const&);
|
||||
|
||||
# endif
|
||||
template<typename Organizer, typename T>
|
||||
msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
|
||||
|
||||
|
Reference in New Issue
Block a user