[Macro Index Page] | [Download M4 Source] |
AC_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS
If the compiler supports member templates outside the class declaration, define HAVE_MEMBER_TEMPLATES_OUTSIDE_CLASS.
1.2 (last modified: 2000-07-19)
Luc Maisonobe
AC_DEFUN([AC_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS], [AC_CACHE_CHECK(whether the compiler supports member templates outside the class declaration, ac_cv_cxx_member_templates_outside_class, [AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ template<class T, int N> class A { public : template<int N2> A<T,N> operator=(const A<T,N2>& z); }; template<class T, int N> template<int N2> A<T,N> A<T,N>::operator=(const A<T,N2>& z){ return A<T,N>(); }],[ A<double,4> x; A<double,7> y; x = y; return 0;], ac_cv_cxx_member_templates_outside_class=yes, ac_cv_cxx_member_templates_outside_class=no) AC_LANG_RESTORE ]) if test "$ac_cv_cxx_member_templates_outside_class" = yes; then AC_DEFINE(HAVE_MEMBER_TEMPLATES_OUTSIDE_CLASS,, [define if the compiler supports member templates outside the class declaration]) fi ])