llvm-6502/include/llvm/ADT
David Blaikie 78b4fd3a4b SmallVector: support resize(N) with move-only types
Unfortunately there's no way to elegantly do this with pre-canned
algorithms. Using a generating iterator doesn't work because you default
construct for each element, then move construct into the actual slot
(bad for copy but non-movable types, and a little unneeded overhead even
in the move-only case), so just write it out manually.

This solution isn't exception safe (if one of the element's ctors calls
we don't fall back, destroy the constructed elements, and throw on -
which std::uninitialized_fill does do) but SmallVector (and LLVM) isn't
exception safe anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210495 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-09 22:26:20 +00:00
..
APFloat.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
APInt.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
APSInt.h Give APInt move semantics. 2014-03-02 20:56:28 +00:00
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 Remove unnecessary copy ctors. 2014-03-02 21:24:52 +00:00
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 [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
FoldingSet.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
GraphTraits.h
Hashing.h Remove unused field hash_state::seed. 2014-04-30 21:12:17 +00:00
ilist_node.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +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 [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ImmutableSet.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +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 Implement one operator== with another. 2014-06-03 15:06:22 +00:00
iterator_range.h Simplify make_range by using move semantics 2014-04-10 22:03:48 +00:00
iterator.h [ADT] Provide some helpful static_asserts for using operations of the 2014-04-30 00:49:32 +00:00
MapVector.h [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
None.h
Optional.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
OwningPtr.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
PackedVector.h
PointerIntPair.h PointerIntPair: Avoid an (academic) case of undefined behavior in the DenseMapInfo specialization. 2014-03-15 18:10:49 +00:00
PointerUnion.h [ADT] Teach PointerUnion to support assignment directly from nullptr to 2014-04-29 00:14:27 +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 SCC: Use the reference typedef 2014-04-25 20:52:08 +00:00
ScopedHashTable.h Allocator: Remove ReferenceAdder hack. 2014-04-18 14:54:51 +00:00
SetOperations.h
SetVector.h [C++11] Remove the completely unnecessary requirement on SetVector's 2014-03-03 19:28:52 +00:00
SmallBitVector.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
SmallPtrSet.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
SmallSet.h The count() function for STL datatypes returns unsigned, even 2013-12-22 12:04:23 +00:00
SmallString.h Revert "Clean up SmallString a bit" 2014-03-09 06:22:58 +00:00
SmallVector.h SmallVector: support resize(N) with move-only types 2014-06-09 22:26:20 +00:00
SparseBitVector.h Correct word hyphenations 2013-12-05 05:44:44 +00:00
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 Attempt to placate compilers that warn on casts between pointer-to-object and 2014-05-23 01:22:46 +00:00
StringExtras.h Fix uint -> size_t conversion warning. 2014-04-18 18:08:31 +00:00
StringMap.h Missed formatting 2014-05-08 21:53:33 +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 ADT: introduce isWindowsItaniumEnvironment 2014-06-06 22:46:18 +00:00
Twine.h [ADT] Delete the Twine assignment operator 2014-05-29 17:12:05 +00:00
UniqueVector.h
VariadicFunction.h