1 dnl Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 dnl This library is free software; you can redistribute it and/or
5 dnl modify it under the terms of the GNU Lesser General Public
6 dnl License as published by the Free Software Foundation; either
7 dnl version 2.1 of the License.
9 dnl This library is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 dnl Lesser General Public License for more details.
14 dnl You should have received a copy of the GNU Lesser General Public
15 dnl License along with this library; if not, write to the Free Software
16 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 dnl See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 dnl @synopsis AC_CXX_PARTIAL_SPECIALIZATION
24 dnl If the compiler supports partial specialization,
25 dnl define HAVE_PARTIAL_SPECIALIZATION.
28 dnl @author Luc Maisonobe
31 AC_DEFUN(AC_CXX_PARTIAL_SPECIALIZATION,
32 [AC_CACHE_CHECK(whether the compiler supports partial specialization,
33 ac_cv_cxx_partial_specialization,
37 template<class T, int N> class A { public : enum e { z = 0 }; };
38 template<int N> class A<double, N> { public : enum e { z = 1 }; };
39 template<class T> class A<T, 2> { public : enum e { z = 2 }; };
40 ],[return (A<int,3>::z == 0) && (A<double,3>::z == 1) && (A<float,2>::z == 2);],
41 ac_cv_cxx_partial_specialization=yes, ac_cv_cxx_partial_specialization=no)
44 if test "$ac_cv_cxx_partial_specialization" = yes; then
45 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION,,
46 [define if the compiler supports partial specialization])