aboutsummaryrefslogtreecommitdiffstats
path: root/autoconf/m4/cxx_bidi_iterator.m4
diff options
context:
space:
mode:
Diffstat (limited to 'autoconf/m4/cxx_bidi_iterator.m4')
-rw-r--r--autoconf/m4/cxx_bidi_iterator.m423
1 files changed, 23 insertions, 0 deletions
diff --git a/autoconf/m4/cxx_bidi_iterator.m4 b/autoconf/m4/cxx_bidi_iterator.m4
new file mode 100644
index 0000000..e16976d
--- /dev/null
+++ b/autoconf/m4/cxx_bidi_iterator.m4
@@ -0,0 +1,23 @@
+#
+# Check for bidirectional 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_BI_ITERATOR],
+[AC_CACHE_CHECK(whether the compiler has the bidirectional iterator,
+ac_cv_cxx_have_bi_iterator,
+[AC_REQUIRE([AC_CXX_NAMESPACES])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([#include <iterator>
+#ifdef HAVE_NAMESPACES
+using namespace std;
+#endif],[bidirectional_iterator<int,int> t; return 0;],
+ ac_cv_cxx_have_bi_iterator=yes, ac_cv_cxx_have_bi_iterator=no)
+ AC_LANG_RESTORE
+])
+HAVE_BI_ITERATOR=0
+if test "$ac_cv_cxx_have_bi_iterator" = yes
+then
+ HAVE_BI_ITERATOR=1
+fi
+AC_SUBST(HAVE_BI_ITERATOR)])