llvm-6502/include/llvm/ADT
Chandler Carruth beee61d3e6 [ADT] Add a generic iterator utility for adapting iterators much like
Boost's iterator_adaptor, and a specific adaptor which iterates over
pointees when wrapped around an iterator over pointers.

This is the result of a long discussion on IRC with Duncan Smith, Dave
Blaikie, Richard Smith, and myself. Essentially, I could use some subset
of the iterator facade facilities often used from Boost, and everyone
seemed interested in having the functionality in a reasonably generic
form. I've tried to strike a balance between the pragmatism and the
established Boost design. The primary differences are:

1) Delegating to the standard iterator interface names rather than
   special names that then make up a second iterator-like API.
2) Using the name 'pointee_iterator' which seems more clear than
   'indirect_iterator'. The whole business of calling the '*p' operation
   'pointer indirection' in the standard is ... quite confusing. And
   'dereference' is no better of a term for moving from a pointer to
   a reference.

Hoping Duncan, and others continue to provide comments on this until
we've got a nice, minimal abstraction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207069 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-24 03:31:23 +00:00
..
APFloat.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
APInt.h
APSInt.h
ArrayRef.h Make the copy member of StringRef/ArrayRef generic wrt allocators. 2014-04-18 16:36:15 +00:00
BitVector.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
DAGDeltaAlgorithm.h
DeltaAlgorithm.h
DenseMap.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
DenseMapInfo.h
DenseSet.h
DepthFirstIterator.h Implement depth_first and inverse_depth_first range factory functions. 2014-04-11 01:50:01 +00:00
edit_distance.h [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
EquivalenceClasses.h
FoldingSet.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
GraphTraits.h
Hashing.h Retire llvm::array_endof in favor of non-member std::end. 2014-04-12 16:15:53 +00:00
ilist_node.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
ilist.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
ImmutableList.h
ImmutableMap.h
ImmutableSet.h Remove a couple of redundant copies of SmallVector::operator==. 2014-04-18 19:48:03 +00:00
IndexedMap.h
IntEqClasses.h
IntervalMap.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
IntrusiveRefCntPtr.h [C++11] Replace some comparisons with 'nullptr' with simple boolean checks to reduce verbosity. 2014-04-09 04:20:00 +00:00
iterator_range.h Simplify make_range by using move semantics 2014-04-10 22:03:48 +00:00
iterator.h [ADT] Add a generic iterator utility for adapting iterators much like 2014-04-24 03:31:23 +00:00
MapVector.h
None.h
Optional.h
OwningPtr.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PackedVector.h
PointerIntPair.h
PointerUnion.h Add a DenseMapInfo specialization for PointerUnion. In tree user to land shortly. 2014-04-15 07:08:40 +00:00
PostOrderIterator.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PriorityQueue.h
SCCIterator.h
ScopedHashTable.h Allocator: Remove ReferenceAdder hack. 2014-04-18 14:54:51 +00:00
SetOperations.h
SetVector.h
SmallBitVector.h
SmallPtrSet.h
SmallSet.h
SmallString.h
SmallVector.h Whitespace 2014-04-22 19:52:05 +00:00
SparseBitVector.h
SparseMultiSet.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
SparseSet.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
Statistic.h Use 'false' for a bool instead of '0' 2014-04-07 06:59:39 +00:00
STLExtras.h Use std::less instead of < in array_pod_sort's default comparator. 2014-04-23 22:44:11 +00:00
StringExtras.h Fix uint -> size_t conversion warning. 2014-04-18 18:08:31 +00:00
StringMap.h Allocator: Remove ReferenceAdder hack. 2014-04-18 14:54:51 +00:00
StringRef.h Make the copy member of StringRef/ArrayRef generic wrt allocators. 2014-04-18 16:36:15 +00:00
StringSet.h
StringSwitch.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
TinyPtrVector.h Add back some typecasts I accidentally lost in r206142. 2014-04-14 01:11:34 +00:00
Triple.h [ARM64] Add big endian target arm64_be. 2014-04-14 17:37:53 +00:00
Twine.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
UniqueVector.h
VariadicFunction.h