summaryrefslogtreecommitdiff
path: root/include/Support/iterator.in
diff options
context:
space:
mode:
Diffstat (limited to 'include/Support/iterator.in')
-rw-r--r--include/Support/iterator.in66
1 files changed, 0 insertions, 66 deletions
diff --git a/include/Support/iterator.in b/include/Support/iterator.in
deleted file mode 100644
index 93813e1985..0000000000
--- a/include/Support/iterator.in
+++ /dev/null
@@ -1,66 +0,0 @@
-//===-- Support/iterator - "Portable" wrapper around <iterator> -*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file provides a wrapper around the mysterious <iterator> header file.
-// In GCC 2.95.3, the file defines a bidirectional_iterator class (and other
-// friends), instead of the standard iterator class. In GCC 3.1, the
-// bidirectional_iterator class got moved out and the new, standards compliant,
-// iterator<> class was added. Because there is nothing that we can do to get
-// correct behavior on both compilers, we have this header with #ifdef's. Gross
-// huh?
-//
-// By #includ'ing this file, you get the contents of <iterator> plus the
-// following classes in the global namespace:
-//
-// 1. bidirectional_iterator
-// 2. forward_iterator
-//
-// The #if directives' expressions are filled in by Autoconf.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_ITERATOR
-#define SUPPORT_ITERATOR
-
-#include <iterator>
-
-#if !@HAVE_BI_ITERATOR@
-# if @HAVE_STD_ITERATOR@
-/// If the bidirectional iterator is not defined, we attempt to define it in
-/// terms of the C++ standard iterator. Otherwise, we import it with a "using"
-/// statement.
-///
-template<class Ty, class PtrDiffTy>
-struct bidirectional_iterator
- : public std::iterator<std::bidirectional_iterator_tag, Ty, PtrDiffTy> {
-};
-# else
-# error "Need to have standard iterator to define bidirectional iterator!"
-# endif
-#else
-using std::bidirectional_iterator;
-#endif
-
-#if !@HAVE_FWD_ITERATOR@
-# if @HAVE_STD_ITERATOR@
-/// If the forward iterator is not defined, attempt to define it in terms of
-/// the C++ standard iterator. Otherwise, we import it with a "using" statement.
-///
-template<class Ty, class PtrDiffTy>
-struct forward_iterator
- : public std::iterator<std::forward_iterator_tag, Ty, PtrDiffTy> {
-};
-# else
-# error "Need to have standard iterator to define forward iterator!"
-# endif
-#else
-using std::forward_iterator;
-#endif
-
-#endif