gecko-dev/xpcom/string
Nathan Froyd 9a2523bcc3 Bug 1247359 - micro-optimize the common case of String{Begins,End}With; r=erahm
StringBeginsWith (resp. StringEndsWith) takes a defaulted
nsStringComparator object for doing comparisons.  The flexibility this
affords is great, but the cost is not: nsStringComparator has virtual
methods, so initializing that defaulted object (at every callsite)
requires a temporary object whose vtable must be initialized.

Since the overwhemingly common case is to use the default comparator
anyway, we should not use defaulted arguments and instead provide the
default comparator/user-provided comparator cases as separate overloads.
This change eliminates the virtual call for the majority of callsites
and reduces codesize as well.
2016-02-10 14:31:06 -05:00
..
crashtests Bug 1113005 - Copy only the necessary number of bytes from the source buffer; r=froydnj 2014-12-20 10:25:02 -05:00
README.html
moz.build Bug 1204403 - Fix -Wshadow warnings in xpcom. r=mccr8 2015-09-07 23:56:16 -07:00
nsAString.h Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj 2015-03-21 12:28:04 -04:00
nsCharTraits.h
nsDependentString.cpp
nsDependentString.h
nsDependentSubstring.cpp
nsDependentSubstring.h
nsEmbedString.h
nsLiteralString.h Bug 1155963 Only allow NS_LITERAL_CSTRING to be used on compile-time literals r=froydnj,ehsan 2015-05-16 09:07:10 +01:00
nsPrintfCString.h
nsPromiseFlatString.cpp
nsPromiseFlatString.h
nsReadableUtils.cpp Bug 1247359 - micro-optimize the common case of String{Begins,End}With; r=erahm 2016-02-10 14:31:06 -05:00
nsReadableUtils.h Bug 1247359 - micro-optimize the common case of String{Begins,End}With; r=erahm 2016-02-10 14:31:06 -05:00
nsString.cpp
nsString.h Bug 1213130 - Make several string function to accept char16ptr_t instead of char16_t*, and remove redundant overloads. rs=froydnj 2015-10-10 12:19:23 +11:00
nsStringBuffer.h Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8. 2015-12-01 15:36:26 -08:00
nsStringComparator.cpp
nsStringFwd.h
nsStringIterator.h
nsStringObsolete.cpp Bug 1213862 - Align nsString whitespace handling with web specs; r=froydnj 2015-10-12 20:47:57 +03:00
nsSubstring.cpp Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8. 2015-12-01 15:36:26 -08:00
nsSubstring.h
nsSubstringTuple.cpp
nsSubstringTuple.h
nsTDependentString.cpp Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
nsTDependentString.h Bug 1135081 - Fix typo in nsTString::AssertValidDepedentString. r=froydnj 2015-02-20 08:02:00 -05:00
nsTDependentSubstring.cpp
nsTDependentSubstring.h
nsTLiteralString.h Bug 1188203 - Fix more constructors in XPCOM; r=froydnj 2015-07-28 12:24:37 -04:00
nsTPromiseFlatString.cpp
nsTPromiseFlatString.h Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo 2015-01-08 23:19:05 -05:00
nsTString.cpp Bug 1135081 - Fix typo in nsTString::AssertValidDepedentString. r=froydnj 2015-02-20 08:02:00 -05:00
nsTString.h Bug 1159433 - Part 4: Mark nsTAutoString_CharT and nsAutoArrayBase as non-memmovable; r=froydnj 2015-07-24 19:15:40 -04:00
nsTStringComparator.cpp
nsTStringObsolete.cpp Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
nsTSubstring.cpp Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8. 2015-12-01 15:36:26 -08:00
nsTSubstring.h Bug 1239125. Add operator!=(char_type*) to nsTSubstring. r=froydnj 2016-01-13 15:59:09 -05:00
nsTSubstringTuple.cpp
nsTSubstringTuple.h
nsUTF8Utils.h
nsUTF8UtilsSSE2.cpp
nsXPCOMStrings.h Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
nsXPIDLString.h
string-template-def-char.h
string-template-def-unichar.h
string-template-undef.h

README.html

<html>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<body>
  <h1><span class="LXRSHORTDESC">managing sequences of characters</span></h1>
<p>
  <span class="LXRLONGDESC"></span>
</p>
</body>
</html>