Jeff Walden
be8ccd5a6b
Bug 1452619 - Implement mozilla::IsAsciiAlpha. r=froydnj
...
--HG--
extra : rebase_source : fd1e3284d293edad0bd96cc378eeeeb1bc2c8829
2018-04-09 12:02:43 -07:00
Masatoshi Kimura
3560ad5b6e
Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj
...
MozReview-Commit-ID: KvKY9CMqfww
--HG--
extra : rebase_source : 5e548884d3a331b5dc8704a690ccbd532ac2534a
2018-03-28 00:01:08 +09:00
Bogdan Tara
8b1819017d
Backed out changeset 577c20417552 (bug 1449094) for failing /builds/worker/workspace/build/src/mfbt/tests/TestAlgorithm.cpp CLOSED TREE
2018-03-30 01:54:04 +03:00
Masatoshi Kimura
316aea87d9
Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj
...
MozReview-Commit-ID: KvKY9CMqfww
--HG--
extra : rebase_source : 15efd61da5b66d6bbb4655cf95936c5d36473a82
2018-03-28 00:01:08 +09:00
Jeff Walden
b0074d3a7d
Bug 1441657 - Create a new mozilla/WrappingOperations.h header to contain implementations of common math operations with well-defined wraparound semantics. r=froydnj
...
--HG--
rename : mfbt/MathAlgorithms.h => mfbt/WrappingOperations.h
rename : mfbt/tests/TestMathAlgorithms.cpp => mfbt/tests/TestWrappingOperations.cpp
extra : rebase_source : 552a0f17d7ba2ad6229d45fd2945592aceabb354
2018-02-15 17:36:50 -08:00
Sylvestre Ledru
5de63ef061
Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
...
MozReview-Commit-ID: 5orfnoude7h
--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Sylvestre Ledru
9bfe27d903
Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
...
MozReview-Commit-ID: 7duJk2gSd4m
--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Lee Salzman
70cd2a8499
Bug 1404742 - add test for ThreadSafeWeakPtr. r=nfroyd
...
MozReview-Commit-ID: GkNXsTLcN7m
2017-10-18 14:21:27 -04:00
Mike Hommey
9f2dd4775e
Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal
...
--HG--
extra : rebase_source : 4f9f9f583c3422ed0f8d1d65ea8e7575bd9baf2c
2017-10-05 14:50:01 +09:00
Chris Manchester
c0a229d4c3
Bug 1386876
- Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
...
MozReview-Commit-ID: FMEtb5PY7iP
--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Botond Ballo
2c2d3ded79
Bug 1371771 - Add a MOZ_DEFINE_ENUM macro and variants to MFBT. r=froydnj
...
The macro simultaneously declares an enumeration and a count of its
enumerators.
A few variants of the macro are also provided to handle things like
enum classes, underlying types, and enumerations declared at class
scope.
MozReview-Commit-ID: 3z6yHnfXbLj
--HG--
extra : rebase_source : 92c333693e4bbf85b89cd3d7ac5b31f4b5434367
2017-06-30 19:58:11 -04:00
Bas Schouten
5a025e5c1f
Bug 1331718 - Part 2: Add unit tests for SmallPointerArray. r=froydnj
...
MozReview-Commit-ID: 7xdQfv7Dpph
2017-05-10 05:07:38 +02:00
Carsten "Tomcat" Book
157a9fcde2
Backed out changeset 4527bd35cc4e (bug 1331718)
2017-05-10 12:09:06 +02:00
Bas Schouten
e8f8394b4e
Bug 1331718 - Part 2: Add unit tests for SmallPointerArray. r=froydnj
...
MozReview-Commit-ID: 7xdQfv7Dpph
2017-05-10 05:07:38 +02:00
Terrence Cole
4cd9f1b817
Bug 1277725 - Implement a list class that is both usable and efficient. r=waldo
...
MozReview-Commit-ID: JnhnomQwSja
2016-06-02 09:18:40 -07:00
Henri Sivonen
c514501f1a
Bug 1295611 - Add mozilla::Span. r=froydnj,gerv.
...
MozReview-Commit-ID: HGNDClVctbE
2017-03-31 13:32:18 +03:00
Nathan Froyd
2ebbd09068
Bug 1320752 - remove mozilla/Function.h; r=gerald
...
We have std::function available now, which is likely to be somewhat more
efficient.
2016-11-28 11:03:53 -05:00
Jan de Mooij
2975885bae
Bug 1283562 - Add mozilla::Result<V, E> for fallible return values. r=jwalden
2016-11-21 12:52:03 +01:00
Nathan Froyd
9238cab1b1
Bug 1315352 - enable Range<T> -> Range<const T> conversion; r=Waldo
...
Since |T*| converts into |const T*|, if we want to rewrite code such as:
void DoSomething(const T*, size_t);
void DoSomethingElse(T* x, size_t len)
{
...
DoSomething(x, len);
}
to use ranges:
void DoSomething(Range<const T>);
void DoSomethingElse(Range<T> x)
{
...
DoSomething(x);
}
we need to ensure this conversion works. gsl::span<T> already provides
something like this as well.
2016-11-07 19:30:34 -04:00
James Cheng
3bf8f58291
Bug 1309466 - Add Test for the init value by constructor. r=froydnj
...
MozReview-Commit-ID: 9BguTY6dlRD
--HG--
extra : rebase_source : 8aef83263e8a406f6a4bb54f7cac6368cb75d904
2016-10-19 18:12:11 +08:00
Nathan Froyd
d1108c1e52
Bug 1311068 - remove InitializerList.h; r=botond
...
We needed this polyfill for <initializer_list> when some of our C++
standard libraries did not support said header. They all do now, so the
polyfill is redundant.
2016-10-19 00:33:14 -04:00
Jeremy Chen
722ad026a3
Bug 1297306 - part4:rename IsEnumFittingWithin with EnumTypeFitsWithin and move it to mfbt/EnumTypeTraits.h. r=froydnj
...
With this change, we could share this EnumTypeTraits between files easily.
MozReview-Commit-ID: 9Q2augati7l
--HG--
extra : rebase_source : b7d9fc95d9d7722ba3eb99ec9798a64ebdbeb484
2016-09-07 10:20:16 +08:00
Tom Tromey
5538d692d3
Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
...
This removes the unnecessary setting of c-basic-offset from all
python-mode files.
This was automatically generated using
perl -pi -e 's/; *c-basic-offset: *[0-9]+//'
... on the affected files.
The bulk of these files are moz.build files but there a few others as
well.
MozReview-Commit-ID: 2pPf3DEiZqx
--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Nicholas Nethercote
b3d842431f
Bug 1272203 (part 1) - Add mozilla::NotNull to MFBT. r=froydnj.
...
This patch implements mozilla::NotNull, which is similar but not identicial to
gsl::not_null.
The current draft(?) implementation of gsl::not_null is at
https://github.com/Microsoft/GSL/blob/master/include/gsl.h .
The main difference is that not_null allows implicit conversion from T to
not_null<T>. In contrast, NotNull only allows explicit conversion from T to
NotNull<T> via WrapNotNull().
The rationale for this is that when converting from a less-constrained type to
a more constrained type, implicit conversion is undesirable. For example, if I
changed a function f from this:
f(int* aPtr);
to this:
f(gsl::not_null<int*> aPtr);
no call sites would have to be modified. But if I changed it to this:
f(mozilla::NotNull<int*> aPtr);
call sites *would* need to be modified. This is a good thing! It forces the
author to audit the call sites for non-nullness, and encourages them to
back-propagate NotNull throughout the code.
The other difference between not_null and NotNull is that not_null disables
pointer arithmetic, which means it cannot be used with array pointers. I have
not implemented this restriction for NotNull because it seems arbitrary and
unnecessary.
2016-05-12 14:21:16 +10:00
Bill McCloskey
308608ab39
Bug 1262671 - Introduce MFBT BufferList class (r=froydnj)
2016-05-27 09:57:40 -07:00
Chris Peterson
353ee65255
Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium
2016-05-11 00:00:01 -07:00
Thomas Zimmermann
ad6d42d817
Bug 1194721: Add |Saturate| template for saturation arithmetics, r=nfroyd
...
|Saturate<T>| implements saturation arithmetics for arbitrary basic
types. Operations on its value won't over- or underflow the type's
range.
2016-02-04 12:35:12 +01:00
Carsten "Tomcat" Book
4ff72292de
Backed out changeset 8d6c228ef008 (bug 1194721) on developers request
2016-02-03 16:25:00 +01:00
Thomas Zimmermann
3d9f64bb3e
Bug 1194721: Add |Saturate| template for saturation arithmetics, r=nfroyd
...
|Saturate<T>| implements saturation arithmetics for arbitrary basic
types. Operations on its value won't over- or underflow the type's
range.
2016-02-03 15:16:00 +01:00
Jeff Muizelaar
b29099ae6d
Bug 1228641. Add a polyfill of std::initializer_list. r=froydnj
2016-01-06 22:06:35 -05:00
Steve Fink
2fac3971ef
Bug 1212624 - Tests for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : 39cb2bc90342da5d5fc1379f805b1dd701a108df
2015-10-07 12:36:00 -07:00
Steve Fink
833a3ce77b
Backed out 5 changesets (bug 1212624) for breaking stuff.
...
Backed out changeset cf5ffa45a4a2
Backed out changeset 0d7a968d2d64 (bug 1212624)
Backed out changeset 379edefa8e47 (bug 1212624)
Backed out changeset f73fca35daad (bug 1212624)
Backed out changeset 4f499d30a0e0 (bug 1212624)
2015-10-14 16:49:12 -07:00
Steve Fink
c860330eec
Bug 1212624 - Tests for LinkedList, r=Waldo
...
--HG--
extra : rebase_source : f44eac4762baa6cc47e5ea370fe19ea35aaf9c88
2015-10-07 12:36:00 -07:00
Jim Blandy
cd209ab0b5
Bug 1206357: Add mfbt/FastBernoulliTrial.h, implementing efficient random sampling. r=waldo
...
--HG--
extra : rebase_source : 63de57cd3fb3317c752f58fb7a0a71f050f198a3
2015-10-08 13:05:31 -07:00
Jim Blandy
e1252e4e42
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
...
--HG--
extra : rebase_source : 3eb009156765b341e6a2dcee9f0287ce198c439f
2015-09-23 13:59:28 -07:00
Phil Ringnalda
dba9d5afc5
Back out 835853a88b03 (bug 1206356) for at least Android/B2G bustage
...
CLOSED TREE
2015-09-22 18:21:32 -07:00
Jim Blandy
68cb70e9c4
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
...
--HG--
extra : rebase_source : 8694eae8a75a1b56be81826e3d9567d33a9fcdfe
2015-09-22 16:34:51 -07:00
Botond Ballo
78627e8b5d
Bug 1198451 - Tests for mozilla::Function. r=froydnj
...
--HG--
extra : source : 11a2cd3e5c1e051c6bef843b45fe3701364e826a
2015-09-06 21:43:34 -04:00
Jeff Gilbert
f9055a2c4d
Bug 1193600 - Add Clamp and IsPowerOfTwo to MFBT. - r=waldo
2015-09-04 13:33:10 -07:00
Nicholas Nethercote
f44287005f
Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
...
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Steve Fink
fda6cabeb6
Bug 1180299 - Implement ScopeExit for running actions at the end of a scope, r=Waldo
...
--HG--
extra : commitid : JVZx97WUQxy
extra : rebase_source : 5cef069fd3071ad305a3e3f04e0addff577b1093
2015-07-03 14:20:55 -07:00
Xidorn Quan
5ebb867d28
Bug 1175485 part 4 - Add unit test for integer range. r=waldo
...
--HG--
extra : source : 2fb0dd6ca01c21b9282e0d7637ac09c2e8539a02
2015-07-02 13:31:07 +10:00
Nick Fitzgerald
474c4d36e3
Bug 1174906 - Add a mozilla::Variant<T1, T2, ...> template class; r=Waldo
2015-06-30 10:01:00 -07:00
Botond Ballo
11fb7202f8
Bug 1163328 - Tests for mozilla::Tuple. r=froydnj
...
--HG--
extra : source : 9e53f6a2c0d179b303d8dabec517bfcae870c1f8
2015-05-21 21:14:25 -04:00
Botond Ballo
5d8adc885c
Bug 1163328 - Add an And<...> class to TemplateLib.h which performs logical and on a variadic number of booleans known at compile time. r=froydnj
...
--HG--
extra : source : 1869b74e535c7ef43ac3e21793847f82f2b468de
2015-05-21 22:33:39 -04:00
Nicholas Nethercote
8225c5d531
Bug 1102525 (part 2) - Add SegmentedVector to MFBT. r=froydnj.
...
This is based on the SegmentedArray type from nsCycleCollector.cpp.
--HG--
extra : rebase_source : 06d2feea3233e5ddd3c47d18c53a661de8a06bb2
2014-12-08 14:45:13 -08:00
Jeff Walden
a904b21ab1
Bug 1105261 - Revert fresh vectors to not prereserving their inline allocation space, because the guaranteed extent of that space is an implementation detail. r=nbp
2014-11-26 16:01:19 -05:00
Phil Ringnalda
9c46b376e7
Backed out 2 changesets (bug 1052139, bug 1105261) for b2g desktop crashes
...
CLOSED TREE
Backed out changeset 72c672d91f9c (bug 1052139)
Backed out changeset e3ce0e3a147c (bug 1105261)
2014-12-01 18:25:53 -08:00
Jeff Walden
ed080d201a
Bug 1105261 - Revert fresh vectors to not prereserving their inline allocation space, because the guaranteed extent of that space is an implementation detail. r=nbp
...
--HG--
extra : rebase_source : ec5431786f504651b1f8a4a019da6e537b6ac175
2014-11-26 16:01:19 -05:00
Nicholas Nethercote
273d7cc068
Bug 1067699 (part 2) - Add mfbt/JSONWriter.h and use it for memory reporting. r=froydnj.
...
--HG--
extra : rebase_source : 7eb21c4c20c0434b3b236d1c53cbef9cb6a4759c
2014-09-14 23:36:18 -07:00