summaryrefslogtreecommitdiff
path: root/autoconf/m4/cxx_std_iterator.m4
diff options
context:
space:
mode:
Diffstat (limited to 'autoconf/m4/cxx_std_iterator.m4')
-rw-r--r--autoconf/m4/cxx_std_iterator.m426
1 files changed, 26 insertions, 0 deletions
diff --git a/autoconf/m4/cxx_std_iterator.m4 b/autoconf/m4/cxx_std_iterator.m4
new file mode 100644
index 0000000000000..38a611764c790
--- /dev/null
+++ b/autoconf/m4/cxx_std_iterator.m4
@@ -0,0 +1,26 @@
+# Check for standard iterator extension. This is modified from
+# http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html
+AC_DEFUN([AC_CXX_HAVE_STD_ITERATOR],
+[AC_CACHE_CHECK(whether the compiler has the standard iterator,
+ac_cv_cxx_have_std_iterator,
+[AC_REQUIRE([AC_CXX_NAMESPACES])
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[#include <iterator>
+#ifdef HAVE_NAMESPACES
+using namespace std;
+#endif]],
+ [[iterator<int,int,int> t; return 0;]])],
+ ac_cv_cxx_have_std_iterator=yes,
+ ac_cv_cxx_have_std_iterator=no)
+ AC_LANG_POP([C++])
+])
+if test "$ac_cv_cxx_have_std_iterator" = yes
+then
+ AC_DEFINE(HAVE_STD_ITERATOR,1,[Have std namespace iterator])
+else
+ AC_DEFINE(HAVE_STD_ITERATOR,0,[Does not have std namespace iterator])
+fi
+])
+
+