forked from boostorg/config
BOOST_DEDUCED_TYPENAME
[SVN r16138]
This commit is contained in:
@ -46,6 +46,7 @@
|
|||||||
# define BOOST_NO_USING_TEMPLATE
|
# define BOOST_NO_USING_TEMPLATE
|
||||||
# define BOOST_NO_SWPRINTF
|
# define BOOST_NO_SWPRINTF
|
||||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||||
|
# define BOOST_NO_DEDUCED_TYPENAME
|
||||||
# if (_MSC_VER > 1200)
|
# if (_MSC_VER > 1200)
|
||||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||||
# endif
|
# endif
|
||||||
|
@ -313,6 +313,23 @@ namespace std {
|
|||||||
# define BOOST_NESTED_TEMPLATE
|
# define BOOST_NESTED_TEMPLATE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
|
||||||
|
//
|
||||||
|
// Some compilers don't support the use of `typename' for dependent
|
||||||
|
// types in deduced contexts, e.g.
|
||||||
|
//
|
||||||
|
// template <class T> void f(T, typename T::type);
|
||||||
|
// ^^^^^^^^
|
||||||
|
// Replace these declarations with:
|
||||||
|
//
|
||||||
|
// template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_DEDUCED_TYPENAME
|
||||||
|
# define BOOST_DEDUCED_TYPENAME typename
|
||||||
|
#else
|
||||||
|
# define BOOST_DEDUCED_TYPENAME
|
||||||
|
#endif
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------//
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Reference in New Issue
Block a user