1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/include/llvm/ADT
Duncan P. N. Exon Smith 38ac81f154 ADT: Separate some list manipulation API into ilist_base, NFC
Separate algorithms in iplist<T> that don't depend on T into ilist_base,
and unit test them.

While I was adding unit tests for these algorithms anyway, I also added
unit tests for ilist_node_base and ilist_sentinel<T>.

To make the algorithms and unit tests easier to write, I also did the
following minor changes as a drive-by:
- encapsulate Prev/Next in ilist_node_base to so that algorithms are
  easier to read, and
- update ilist_node_access API to take nodes by reference.

There should be no real functionality change here.

llvm-svn: 279484
2016-08-22 22:21:07 +00:00
..
APFloat.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
APInt.h Use RValue refs in APInt add/sub methods. 2016-07-22 20:55:46 +00:00
APSInt.h
ArrayRef.h Use range algorithms instead of unpacking begin/end 2016-08-11 21:15:00 +00:00
BitmaskEnum.h Force a semicolon at the end of the LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE() macro. 2016-07-13 23:52:19 +00:00
BitVector.h Fix BitVector move ctor/assignment. 2016-06-16 21:45:13 +00:00
DAGDeltaAlgorithm.h
DeltaAlgorithm.h
DenseMap.h Limit DenseMap::setNumEntries input to 1<<31, in accordance with the 31 bits allocated to NumEntries. 2016-08-13 19:46:31 +00:00
DenseMapInfo.h Add a CachedHash structure. 2016-04-21 12:16:21 +00:00
DenseSet.h [ADT] Add a reserve() method to DenseSet as well as an insert() for R-value 2016-08-13 20:42:19 +00:00
DepthFirstIterator.h [ADT] Actually mutate the iterator VisitStack.back().second, not its copy. 2016-08-22 21:59:26 +00:00
edit_distance.h
EpochTracker.h
EquivalenceClasses.h
FoldingSet.h Doxygen for FoldingSet::reserve and FoldingSet::capacity 2016-06-03 17:50:14 +00:00
GraphTraits.h [GraphTraits] Replace all NodeType usage with NodeRef 2016-08-22 21:09:30 +00:00
Hashing.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ilist_node.h ADT: Separate some list manipulation API into ilist_base, NFC 2016-08-22 22:21:07 +00:00
ilist.h ADT: Separate some list manipulation API into ilist_base, NFC 2016-08-22 22:21:07 +00:00
ImmutableList.h
ImmutableMap.h
ImmutableSet.h
IndexedMap.h
IntEqClasses.h
IntervalMap.h
IntrusiveRefCntPtr.h Weaken ThreadSafeRefCountedBase atomics. 2016-07-21 15:06:50 +00:00
iterator_range.h
iterator.h [ADT] add pointer_iterator, the opposite of pointee_iterator 2016-08-19 21:04:45 +00:00
MapVector.h
None.h
Optional.h [ADT] Add relation operators for Optional 2016-08-11 20:10:15 +00:00
PackedVector.h
PointerEmbeddedInt.h
PointerIntPair.h
PointerSumType.h
PointerUnion.h
PostOrderIterator.h [ADT] Change PostOrderIterator to use NodeRef. NFC. 2016-08-15 21:52:54 +00:00
PriorityQueue.h Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
PriorityWorklist.h Use the range variant of transform instead of unpacking begin/end 2016-08-12 04:32:42 +00:00
SCCIterator.h [ADT] NFC: Generalize GraphTraits requirement of "NodeType *" in interfaces to "NodeRef", and migrate SCCIterator.h to use NodeRef 2016-08-01 22:32:20 +00:00
ScopedHashTable.h
ScopeExit.h [ADT] Move LLVM_ATTRIBUTE_UNUSED_RESULT to the function, otherwise gcc 4.8 complains about it. 2016-08-10 22:35:38 +00:00
Sequence.h Another attempt to fix MSVC by explicitly disabling the conversion 2016-05-13 22:20:43 +00:00
SetOperations.h
SetVector.h Use the range variant of transform instead of unpacking begin/end 2016-08-12 04:32:42 +00:00
SmallBitVector.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
SmallPtrSet.h
SmallSet.h
SmallString.h
SmallVector.h SmallVector: Replace some pre-C++11 move helpers with standard algorithms 2016-05-27 19:05:14 +00:00
SparseBitVector.h ADT: Remove ilist_*sentinel_traits, NFC 2016-08-22 20:51:00 +00:00
SparseMultiSet.h
SparseSet.h
Statistic.h Fix some Clang-tidy modernize-use-using and Include What You Use warnings. 2016-08-13 00:50:41 +00:00
STLExtras.h [ADT] Add the worlds simplest STL extra. Or at least close to it. 2016-08-19 02:07:51 +00:00
StringExtras.h ThinLTO: add module caching handling. 2016-04-21 05:54:23 +00:00
StringMap.h Rename StringMap::emplace_second to try_emplace. 2016-07-21 13:37:48 +00:00
StringRef.h [ADT] Add 'consume_front' and 'consume_back' methods to StringRef which 2016-07-31 02:19:13 +00:00
StringSet.h
StringSwitch.h Fix r276671 to not use a defaulted move constructor. 2016-07-25 20:34:25 +00:00
TinyPtrVector.h Add a (size, value) constructor to TinyPtrVector. 2016-05-16 21:57:47 +00:00
Triple.h [mips] Recognise the triple used by Debian stretch for mips64el. 2016-07-19 10:22:19 +00:00
Twine.h
UniqueVector.h
VariadicFunction.h