llvm/unittests/ADT
Pete Cooper 639ec3da92 Reapply "Add reverse(ContainerTy) range adapter."
This reverts commit r243567, which ultimately reapplies r243563.

The fix here was to use std::enable_if for overload resolution.  Thanks to David
Blaikie for lots of help on this, and for the extra tests!

Original commit message follows:

For cases where we needed a foreach loop in reverse over a container,
we had to do something like

 for (const GlobalValue *GV : make_range(TypeInfos.rbegin(),
                                         TypeInfos.rend())) {

This provides a convenience method which shortens this to

 for (const GlobalValue *GV : reverse(TypeInfos)) {

There are 2 versions of this, with a preference to the rbegin() version.

The first uses rbegin() and rend() to construct an iterator_range.

The second constructs an iterator_range from the begin() and end() methods
wrapped in std::reverse_iterator's.

Reviewed by David Blaikie.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243581 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-29 22:19:09 +00:00
..
APFloatTest.cpp Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
APIntTest.cpp Change APInt comparison with uint64_t. 2015-07-01 22:56:43 +00:00
APSIntTest.cpp ADTTests: merge #ifdef checks from r240436. 2015-06-24 17:05:04 +00:00
ArrayRefTest.cpp Removing spurious semi colons; NFC. 2015-06-09 12:03:46 +00:00
BitVectorTest.cpp
CMakeLists.txt Reapply "Add reverse(ContainerTy) range adapter." 2015-07-29 22:19:09 +00:00
DAGDeltaAlgorithmTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
DeltaAlgorithmTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
DenseMapTest.cpp [ADT] Teach DenseMap to support StringRef keys. 2015-06-24 10:06:29 +00:00
DenseSetTest.cpp
FoldingSet.cpp
FunctionRefTest.cpp
HashingTest.cpp Remove no-op dtor so that use of the implicit copy ctor/assignment operator are not deprecated. 2015-03-03 19:52:59 +00:00
ilistTest.cpp Explicitly default ilistTest::Node's copy constructor 2015-03-04 17:01:18 +00:00
ImmutableMapTest.cpp
ImmutableSetTest.cpp
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp
Makefile
MakeUniqueTest.cpp
MapVectorTest.cpp [ADT] Teach MapVector to support a swap member. Will be used in 2015-03-25 00:50:21 +00:00
OptionalTest.cpp Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PackedVectorTest.cpp
PointerIntPairTest.cpp ADT/PointerIntPairTest.cpp: Prune obsolete #if. We don't support msc17 anymore. 2015-02-17 15:36:01 +00:00
PointerUnionTest.cpp
PostOrderIteratorTest.cpp
RangeAdapterTest.cpp Reapply "Add reverse(ContainerTy) range adapter." 2015-07-29 22:19:09 +00:00
SCCIteratorTest.cpp [llvm] Replacing asserts with static_asserts where appropriate 2015-03-16 09:53:42 +00:00
SmallPtrSetTest.cpp
SmallStringTest.cpp
SmallVectorTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SparseBitVectorTest.cpp Miscellaneous Fixes for SparseBitVector 2015-07-20 18:26:23 +00:00
SparseMultiSetTest.cpp
SparseSetTest.cpp
StringMapTest.cpp Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
StringRefTest.cpp
TinyPtrVectorTest.cpp [tinyptrvector] Add in a MutableArrayRef implicit conversion operator to complement the ArrayRef implicit conversion operator. 2015-01-19 03:25:33 +00:00
TripleTest.cpp [Triple] Add a helper to switch between big/little endian variants 2015-07-06 23:58:14 +00:00
TwineTest.cpp Teach Twine to support SmallString. 2015-03-17 09:51:17 +00:00
VariadicFunctionTest.cpp