llvm-6502/include/llvm/ADT
Gabor Greif d01518630a Simplify this class by removing the result cache.
This change removes the DefaultConstructible
and CopyAssignable constraints on the template
parameter T (the first one).

The second template parameter (R) is defaulted to be
identical to the first and controls the result type.
By specifying it to be (const T&) additionally the
CopyConstructible constraint on T can be removed.

This allows to use StringSwitch e.g. for llvm::Constant
instances.

Regarding the other review feedback regarding performance
because of taking pointers, this class should be completely
optimizable like before, since all methods are inline and
the pointer dereferencing and result value caching should be
possible behind the scenes by the "as-if" rule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91123 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11 15:30:07 +00:00
..
APFloat.h Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed. 2009-10-28 01:08:17 +00:00
APInt.h Add a ceilLogBase2 function to APInt. 2009-10-13 01:49:02 +00:00
APSInt.h
BitVector.h
DeltaAlgorithm.h DeltaAlgorithm: Add a virtual destructor and home. 2009-12-09 07:19:48 +00:00
DenseMap.h Fix DenseMap iterator constness. 2009-11-10 01:02:17 +00:00
DenseMapInfo.h More warnings patrol: Another unused argument and more implicit 2009-10-17 23:56:18 +00:00
DenseSet.h Remove unneeded ';' and a class/struct mismatch (noticed by clang). 2009-12-09 02:58:09 +00:00
DepthFirstIterator.h
EquivalenceClasses.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
FoldingSet.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
GraphTraits.h 1. Allow SCCIterator to work with GraphT types that are constant. 2009-11-17 10:54:25 +00:00
ilist_node.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
ilist.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
ImmutableList.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
ImmutableMap.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
ImmutableSet.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
IndexedMap.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
IntrusiveRefCntPtr.h
OwningPtr.h
PointerIntPair.h Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy> 2009-09-17 20:35:18 +00:00
PointerUnion.h Add a bunch of missing "template" keywords to disambiguate dependent template names. GCC eats this ill-formed code, Clang does not. I already filed PR5404 to improve recovery in this case 2009-11-06 00:12:53 +00:00
PostOrderIterator.h
PriorityQueue.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
SCCIterator.h 1. Allow SCCIterator to work with GraphT types that are constant. 2009-11-17 10:54:25 +00:00
ScopedHashTable.h
SetOperations.h
SetVector.h
SmallPtrSet.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
SmallSet.h Fix apostrophos. 2009-09-15 15:08:33 +00:00
SmallString.h Allow SmallString to implicitly convert to StringRef. 2009-11-21 02:01:24 +00:00
SmallVector.h
SparseBitVector.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
Statistic.h
STLExtras.h cstdlib is not automatically included with StringRef anymore. 2009-11-19 16:08:04 +00:00
StringExtras.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
StringMap.h Pass StringRef by value. 2009-11-06 10:58:06 +00:00
StringRef.h Remove the now obsolete algorithm include from StringRef.h. 2009-11-19 15:48:14 +00:00
StringSet.h
StringSwitch.h Simplify this class by removing the result cache. 2009-12-11 15:30:07 +00:00
Trie.h Remove forgotten ShortNames in Trie and CompilationGraph 2009-11-30 13:14:13 +00:00
Triple.h Add PS3 Triple class, Credit to John Thompson. 2009-11-19 11:59:00 +00:00
Twine.h Twine: Stores kinds as uchar instead of bitfield to be friendlier to the 2009-11-19 00:04:43 +00:00
UniqueVector.h
ValueMap.h Fix VS build, patch by Marius Wachtler. 2009-10-27 02:17:51 +00:00
VectorExtras.h