gecko-dev/mfbt
Gerald Squelart 0e7e45ed66 Bug 1500811 - Variant::as()&&, match()&& - r=sg
`as<...>()` on an rvalue variant returns the contained value as rvalue-reference.
`match()` on an rvalue variant forwards the contained value as rvalue-reference.
So now the contained values can be efficiently moved-from.

There are also equivalents for `const&&`, which should be rare.

For `match(2+ matchers)`, the static_assert for same return types has been moved to `Impl::matchN`. Also, it doesn't rely on `FunctionTypeTraits` anymore, which has the added benefit of allowing `auto` in individual matchers.

Differential Revision: https://phabricator.services.mozilla.com/D98050
2020-12-02 00:17:46 +00:00
..
double-conversion
lz4 Bug 1575293 - Update lz4 to version 1.9.2. r=froydnj,jfkthame 2020-10-22 08:40:56 +00:00
tests Bug 1500811 - Variant::as()&&, match()&& - r=sg 2020-12-02 00:17:46 +00:00
Algorithm.h Bug 1677092: add `constexpr` `AnyOf`. r=sg 2020-11-17 08:30:12 +00:00
Alignment.h
AllocPolicy.h
AlreadyAddRefed.h
Array.h
ArrayUtils.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Assertions.cpp
Assertions.h
AtomicBitfields.h
Atomics.h
Attributes.h
BinarySearch.h
BitSet.h
BloomFilter.h
Buffer.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
BufferList.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Casting.h
ChaosMode.cpp
ChaosMode.h
Char16.h
CheckedInt.h
CompactPair.h
Compiler.h
Compression.cpp
Compression.h Bug 1677284 - Move PackingStrategy::Variant implementation to separate header file. r=emilio 2020-11-23 15:49:14 +00:00
DbgMacro.h
DebugOnly.h
DefineEnum.h
DoublyLinkedList.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
EndianUtils.h
EnumSet.h
EnumTypeTraits.h
EnumeratedArray.h
EnumeratedRange.h
FStream.h
FastBernoulliTrial.h
FloatingPoint.cpp
FloatingPoint.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
FunctionRef.h
FunctionTypeTraits.h
HashFunctions.cpp
HashFunctions.h
HashTable.h
HelperMacros.h
InitializedOnce.h
IntegerPrintfMacros.h
IntegerRange.h
IntegerTypeTraits.h
JSONWriter.cpp
JSONWriter.h
JsRust.h
Latin1.h
Likely.h
LinkedList.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
MacroArgs.h
MacroForEach.h
MathAlgorithms.h
Maybe.h Bug 1500811 - Maybe::operator*()&&, ref()&&, value()&& - r=sg,sfink 2020-12-02 00:14:41 +00:00
MaybeOneOf.h
MemoryChecking.h
MemoryReporting.h
NonDereferenceable.h
NotNull.h
Opaque.h
OperatorNewExtensions.h
Path.h
PodOperations.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Poison.cpp Bug 1506910 - Initialize the poison page with a static initializer. r=glandium,decoder 2020-10-28 20:38:42 +00:00
Poison.h Bug 1506910 - Initialize the poison page with a static initializer. r=glandium,decoder 2020-10-28 20:38:42 +00:00
RandomNum.cpp
RandomNum.h
Range.h
RangedArray.h
RangedPtr.h
ReentrancyGuard.h
RefCountType.h
RefCounted.h
RefPtr.h Bug 1676357 - Avoid including Layers.h in header files. r=botond 2020-11-23 16:09:05 +00:00
Result.h Bug 1677284 - Move PackingStrategy::Variant implementation to separate header file. r=emilio 2020-11-23 15:49:14 +00:00
ResultExtensions.h
ResultVariant.h Bug 1677284 - Move PackingStrategy::Variant implementation to separate header file. r=emilio 2020-11-23 15:49:14 +00:00
ReverseIterator.h
RollingMean.h
SHA1.cpp
SHA1.h
SPSCQueue.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
STYLE
Saturate.h
ScopeExit.h
Scoped.h
SegmentedVector.h
SharedLibrary.h
SmallPointerArray.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Span.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SplayTree.h
Sprintf.h
StaticAnalysisFunctions.h
TaggedAnonymousMemory.cpp
TaggedAnonymousMemory.h
Tainting.h Bug 1658755 - Create MOZ_FIND_AND_VALIDATE Tainting validation macro; r=tjr,sg 2020-11-19 22:45:10 +00:00
TemplateLib.h
TextUtils.h
ThreadLocal.h
ThreadSafeWeakPtr.h
ToString.h
TsanOptions.h
Tuple.h
TypeTraits.h
TypedEnumBits.h
Types.h
UniquePtr.h Bug 1677409 - MOZ_ASSERT(not null) in UniquePtr::operator* - r=sg 2020-11-16 20:11:24 +00:00
UniquePtrExtensions.cpp
UniquePtrExtensions.h
Unused.cpp
Unused.h
Utf8.cpp
Utf8.h
Variant.h Bug 1500811 - Variant::as()&&, match()&& - r=sg 2020-12-02 00:17:46 +00:00
Vector.h Bug 1665462 - Add moving Vector::appendAll(Vector&&) overload. r=jwalden 2020-10-29 19:41:43 +00:00
WeakPtr.h Bug 1672072 - P12. Add constructor for WeakPtr(RefPtr). r=sg 2020-11-13 04:21:17 +00:00
WindowsVersion.h
WrappingOperations.h
XorShift128PlusRNG.h
fallible.h
moz.build Bug 1679938 - Don't recurse the build into mfbt for projects that don't need it. r=firefox-build-system-reviewers,mhentges 2020-12-01 23:52:03 +00:00