[LLVMbugs] [Bug 6548] New: DenseSet::iterator doesn't have std iterator traits
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Mar 8 11:54:15 PST 2010
http://llvm.org/bugs/show_bug.cgi?id=6548
Summary: DenseSet::iterator doesn't have std iterator traits
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Core LLVM classes
AssignedTo: unassignedbugs at nondot.org
ReportedBy: alenhar2 at uiuc.edu
CC: llvmbugs at cs.uiuc.edu
DenseMap has difference_type, iterator_category, etc, but DenseSet doesn't.
This prevents using set iterators with calls, such as insert, on std
containers.
Something like the below fixes this (any chance this can be fixed for 2.7?):
--- include/llvm/ADT/DenseSet.h (revision 97942)
+++ include/llvm/ADT/DenseSet.h (working copy)
@@ -55,6 +55,13 @@
class Iterator {
typename MapTy::iterator I;
public:
+ typedef typename MapTy::iterator::difference_type difference_type;
+ typedef ValueT value_type;
+ typedef value_type *pointer;
+ typedef value_type &reference;
+ typedef std::forward_iterator_tag iterator_category;
+
+
Iterator(const typename MapTy::iterator &i) : I(i) {}
ValueT& operator*() { return I->first; }
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list