Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/BinarySearch.h
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef mozilla_BinarySearch_h
8
#define mozilla_BinarySearch_h
9
10
#include "mozilla/Assertions.h"
11
12
#include <stddef.h>
13
14
namespace mozilla {
15
16
/*
17
 * The BinarySearch() algorithm searches the given container |aContainer| over
18
 * the sorted index range [aBegin, aEnd) for an index |i| where
19
 * |aContainer[i] == aTarget|.
20
 * If such an index |i| is found, BinarySearch returns |true| and the index is
21
 * returned via the outparam |aMatchOrInsertionPoint|. If no index is found,
22
 * BinarySearch returns |false| and the outparam returns the first index in
23
 * [aBegin, aEnd] where |aTarget| can be inserted to maintain sorted order.
24
 *
25
 * Example:
26
 *
27
 *   Vector<int> sortedInts = ...
28
 *
29
 *   size_t match;
30
 *   if (BinarySearch(sortedInts, 0, sortedInts.length(), 13, &match)) {
31
 *     printf("found 13 at %lu\n", match);
32
 *   }
33
 *
34
 * The BinarySearchIf() version behaves similarly, but takes |aComparator|, a
35
 * functor to compare the values with, instead of a value to find.
36
 * That functor should take one argument - the value to compare - and return an
37
 * |int| with the comparison result:
38
 *
39
 *   * 0, if the argument is equal to,
40
 *   * less than 0, if the argument is greater than,
41
 *   * greater than 0, if the argument is less than
42
 *
43
 * the value.
44
 *
45
 * Example:
46
 *
47
 *   struct Comparator {
48
 *     int operator()(int aVal) const {
49
 *       if (mTarget < aVal) { return -1; }
50
 *       if (mTarget > aVal) { return 1; }
51
 *       return 0;
52
 *     }
53
 *     explicit Comparator(int aTarget) : mTarget(aTarget) {}
54
 *     const int mTarget;
55
 *   };
56
 *
57
 *   Vector<int> sortedInts = ...
58
 *
59
 *   size_t match;
60
 *   if (BinarySearchIf(sortedInts, 0, sortedInts.length(), Comparator(13), &match)) {
61
 *     printf("found 13 at %lu\n", match);
62
 *   }
63
 *
64
 */
65
66
template<typename Container, typename Comparator>
67
bool
68
BinarySearchIf(const Container& aContainer, size_t aBegin, size_t aEnd,
69
               const Comparator& aCompare, size_t* aMatchOrInsertionPoint)
70
171k
{
71
171k
  MOZ_ASSERT(aBegin <= aEnd);
72
171k
73
171k
  size_t low = aBegin;
74
171k
  size_t high = aEnd;
75
578k
  while (high != low) {
76
578k
    size_t middle = low + (high - low) / 2;
77
578k
78
578k
    // Allow any intermediate type so long as it provides a suitable ordering
79
578k
    // relation.
80
578k
    const int result = aCompare(aContainer[middle]);
81
578k
82
578k
    if (result == 0) {
83
171k
      *aMatchOrInsertionPoint = middle;
84
171k
      return true;
85
171k
    }
86
406k
87
406k
    if (result < 0) {
88
175k
      high = middle;
89
231k
    } else {
90
231k
      low = middle + 1;
91
231k
    }
92
406k
  }
93
171k
94
171k
  *aMatchOrInsertionPoint = low;
95
195
  return false;
96
171k
}
Unexecuted instantiation: bool mozilla::BinarySearchIf<mozilla::MemoryMapping::Field [20], mozilla::MemoryMapping::Field const* mozilla::FindEntry<mozilla::MemoryMapping::Field, 20>(char const*, mozilla::MemoryMapping::Field const (&) [20])::{lambda(mozilla::MemoryMapping::Field const&)#1}>(mozilla::MemoryMapping::Field const (&) [20], unsigned long, unsigned long, mozilla::MemoryMapping::Field const* mozilla::FindEntry<mozilla::MemoryMapping::Field, 20>(char const*, mozilla::MemoryMapping::Field const (&) [20])::{lambda(mozilla::MemoryMapping::Field const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_xpcom_base0.cpp:bool mozilla::BinarySearchIf<mozilla::(anonymous namespace)::VMFlagString [28], mozilla::(anonymous namespace)::VMFlagString const* mozilla::FindEntry<mozilla::(anonymous namespace)::VMFlagString, 28>(char const*, mozilla::(anonymous namespace)::VMFlagString const (&) [28])::{lambda(mozilla::(anonymous namespace)::VMFlagString const&)#1}>(mozilla::(anonymous namespace)::VMFlagString const (&) [28], unsigned long, unsigned long, mozilla::(anonymous namespace)::VMFlagString const* mozilla::FindEntry<mozilla::(anonymous namespace)::VMFlagString, 28>(char const*, mozilla::(anonymous namespace)::VMFlagString const (&) [28])::{lambda(mozilla::(anonymous namespace)::VMFlagString const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::MemoryMapping, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::MemoryMapping, nsTArrayInfallibleAllocator>::BinaryIndexOf<void const*, nsDefaultComparator<mozilla::MemoryMapping, void const*> >(void const* const&, nsDefaultComparator<mozilla::MemoryMapping, void const*> const&) const::{lambda(mozilla::MemoryMapping const&)#1}>(nsTArray_Impl<mozilla::MemoryMapping, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::MemoryMapping, nsTArrayInfallibleAllocator>::BinaryIndexOf<void const*, nsDefaultComparator<mozilla::MemoryMapping, void const*> >(void const* const&, nsDefaultComparator<mozilla::MemoryMapping, void const*> const&) const::{lambda(mozilla::MemoryMapping const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray<char16_t>, mozilla::detail::BinarySearchDefaultComparator<char16_t> >(nsTArray<char16_t> const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<char16_t> const&, unsigned long*)
Unified_cpp_xpcom_threads1.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::MicrosecondsToInterval, (anonymous namespace)::IntervalComparator>((anonymous namespace)::MicrosecondsToInterval const&, unsigned long, unsigned long, (anonymous namespace)::IntervalComparator const&, unsigned long*)
Line
Count
Source
70
1
{
71
1
  MOZ_ASSERT(aBegin <= aEnd);
72
1
73
1
  size_t low = aBegin;
74
1
  size_t high = aEnd;
75
10
  while (high != low) {
76
9
    size_t middle = low + (high - low) / 2;
77
9
78
9
    // Allow any intermediate type so long as it provides a suitable ordering
79
9
    // relation.
80
9
    const int result = aCompare(aContainer[middle]);
81
9
82
9
    if (result == 0) {
83
0
      *aMatchOrInsertionPoint = middle;
84
0
      return true;
85
0
    }
86
9
87
9
    if (result < 0) {
88
2
      high = middle;
89
7
    } else {
90
7
      low = middle + 1;
91
7
    }
92
9
  }
93
1
94
1
  *aMatchOrInsertionPoint = low;
95
1
  return false;
96
1
}
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned int, gfxShapedText::DetailedGlyphStore::CompareToOffset>(unsigned int const&, gfxShapedText::DetailedGlyphStore::CompareToOffset const&) const::{lambda(gfxShapedText::DetailedGlyphStore::DGRec const&)#1}>(nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned int, gfxShapedText::DetailedGlyphStore::CompareToOffset>(unsigned int const&, gfxShapedText::DetailedGlyphStore::CompareToOffset const&) const::{lambda(gfxShapedText::DetailedGlyphStore::DGRec const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<gfxShapedText::DetailedGlyphStore::DGRec, gfxShapedText::DetailedGlyphStore::CompareRecordOffsets>(gfxShapedText::DetailedGlyphStore::DGRec const&, gfxShapedText::DetailedGlyphStore::CompareRecordOffsets const&) const::{lambda(gfxShapedText::DetailedGlyphStore::DGRec const&)#1}>(nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<gfxShapedText::DetailedGlyphStore::DGRec, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<gfxShapedText::DetailedGlyphStore::DGRec, gfxShapedText::DetailedGlyphStore::CompareRecordOffsets>(gfxShapedText::DetailedGlyphStore::DGRec const&, gfxShapedText::DetailedGlyphStore::CompareRecordOffsets const&) const::{lambda(gfxShapedText::DetailedGlyphStore::DGRec const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsAtom const*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom const*> >(nsAtom const* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom const*> const&) const::{lambda(RefPtr<nsAtom> const&)#1}>(nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsAtom const*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom const*> >(nsAtom const* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom const*> const&) const::{lambda(RefPtr<nsAtom> const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_modules_libpref0.cpp:bool mozilla::BinarySearchIf<mozilla::RangedPtr<mozilla::SharedPrefMap::Entry const>, mozilla::SharedPrefMap::Find(char const*, unsigned long*) const::$_4>(mozilla::RangedPtr<mozilla::SharedPrefMap::Entry const> const&, unsigned long, unsigned long, mozilla::SharedPrefMap::Find(char const*, unsigned long*) const::$_4 const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTAutoStringN<char, 64ul>&, nsDefaultComparator<nsTString<char>, nsTAutoStringN<char, 64ul>&> >(nsTAutoStringN<char, 64ul>& const&, nsDefaultComparator<nsTString<char>, nsTAutoStringN<char, 64ul>&> const&) const::{lambda(nsTString<char> const&)#1}>(nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTAutoStringN<char, 64ul>&, nsDefaultComparator<nsTString<char>, nsTAutoStringN<char, 64ul>&> >(nsTAutoStringN<char, 64ul>& const&, nsDefaultComparator<nsTString<char>, nsTAutoStringN<char, 64ul>&> const&) const::{lambda(nsTString<char> const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_intl_locale0.cpp:bool mozilla::BinarySearchIf<nsUConvProp const*, (anonymous namespace)::PropertyComparator>(nsUConvProp const* const&, unsigned long, unsigned long, (anonymous namespace)::PropertyComparator const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_intl_strres0.cpp:bool mozilla::BinarySearchIf<char [17][52], IsContentBundle(nsTString<char> const&)::$_0>(char const (&) [17][52], unsigned long, unsigned long, IsContentBundle(nsTString<char> const&)::$_0 const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_protocol_http0.cpp:bool mozilla::BinarySearchIf<mozilla::net::nsHttpAtom const* [24], mozilla::net::IsHeaderBlacklistedForRedirectCopy(mozilla::net::nsHttpAtom const&)::HttpAtomComparator>(mozilla::net::nsHttpAtom const* const (&) [24], unsigned long, unsigned long, mozilla::net::IsHeaderBlacklistedForRedirectCopy(mozilla::net::nsHttpAtom const&)::HttpAtomComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsAutoPtr<mozilla::StreamTracks::Track>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsAutoPtr<mozilla::StreamTracks::Track>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::StreamTracks::Track*&, mozilla::StreamTracks::CompareTracksByID>(mozilla::StreamTracks::Track*& const&, mozilla::StreamTracks::CompareTracksByID const&) const::{lambda(nsAutoPtr<mozilla::StreamTracks::Track> const&)#1}>(nsTArray_Impl<nsAutoPtr<mozilla::StreamTracks::Track>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsAutoPtr<mozilla::StreamTracks::Track>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::StreamTracks::Track*&, mozilla::StreamTracks::CompareTracksByID>(mozilla::StreamTracks::Track*& const&, mozilla::StreamTracks::CompareTracksByID const&) const::{lambda(nsAutoPtr<mozilla::StreamTracks::Track> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIPrincipal>&, OriginComparator>(nsCOMPtr<nsIPrincipal>& const&, OriginComparator const&) const::{lambda(nsCOMPtr<nsIPrincipal> const&)#1}>(nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIPrincipal>&, OriginComparator>(nsCOMPtr<nsIPrincipal>& const&, OriginComparator const&) const::{lambda(nsCOMPtr<nsIPrincipal> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIPrincipal>, OriginComparator>(nsCOMPtr<nsIPrincipal> const&, OriginComparator const&) const::{lambda(nsCOMPtr<nsIPrincipal> const&)#1}>(nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsCOMPtr<nsIPrincipal>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIPrincipal>, OriginComparator>(nsCOMPtr<nsIPrincipal> const&, OriginComparator const&) const::{lambda(nsCOMPtr<nsIPrincipal> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<int, int> >(int const&, nsDefaultComparator<int, int> const&) const::{lambda(int const&)#1}>(nsTArray_Impl<int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<int, int> >(int const&, nsDefaultComparator<int, int> const&) const::{lambda(int const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, nsDefaultComparator<int, int> >(int const&, nsDefaultComparator<int, int> const&) const::{lambda(int const&)#1}>(nsTArray_Impl<int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, nsDefaultComparator<int, int> >(int const&, nsDefaultComparator<int, int> const&) const::{lambda(int const&)#1} const&, unsigned long*)
Unexecuted instantiation: gfxFontUtils.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::Format14CmapWrapper, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >((anonymous namespace)::Format14CmapWrapper const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: gfxFontUtils.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::NonDefUVSTableWrapper, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >((anonymous namespace)::NonDefUVSTableWrapper const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<gfxFontUtils::MacFontNameCharsetMapping [27], MacCharsetMappingComparator>(gfxFontUtils::MacFontNameCharsetMapping const (&) [27], unsigned long, unsigned long, MacCharsetMappingComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray<gfxSkipChars::SkippedRange>, SkippedRangeStartComparator>(nsTArray<gfxSkipChars::SkippedRange> const&, unsigned long, unsigned long, SkippedRangeStartComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray<gfxSkipChars::SkippedRange>, SkippedRangeOffsetComparator>(nsTArray<gfxSkipChars::SkippedRange> const&, unsigned long, unsigned long, SkippedRangeOffsetComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::gfx::VRManagerChild::FrameRequest, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::gfx::VRManagerChild::FrameRequest, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<mozilla::gfx::VRManagerChild::FrameRequest, int> >(int const&, nsDefaultComparator<mozilla::gfx::VRManagerChild::FrameRequest, int> const&) const::{lambda(mozilla::gfx::VRManagerChild::FrameRequest const&)#1}>(nsTArray_Impl<mozilla::gfx::VRManagerChild::FrameRequest, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::gfx::VRManagerChild::FrameRequest, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<mozilla::gfx::VRManagerChild::FrameRequest, int> >(int const&, nsDefaultComparator<mozilla::gfx::VRManagerChild::FrameRequest, int> const&) const::{lambda(mozilla::gfx::VRManagerChild::FrameRequest const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::image::CostEntry, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry> >(mozilla::image::CostEntry const&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry> const&) const::{lambda(mozilla::image::CostEntry const&)#1}>(nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::image::CostEntry, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry> >(mozilla::image::CostEntry const&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry> const&) const::{lambda(mozilla::image::CostEntry const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::image::CostEntry&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry&> >(mozilla::image::CostEntry& const&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry&> const&) const::{lambda(mozilla::image::CostEntry const&)#1}>(nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::image::CostEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::image::CostEntry&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry&> >(mozilla::image::CostEntry& const&, nsDefaultComparator<mozilla::image::CostEntry, mozilla::image::CostEntry&> const&) const::{lambda(mozilla::image::CostEntry const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<double, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<double, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<double, nsDefaultComparator<double, double> >(double const&, nsDefaultComparator<double, double> const&) const::{lambda(double const&)#1}>(nsTArray_Impl<double, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<double, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<double, nsDefaultComparator<double, double> >(double const&, nsDefaultComparator<double, double> const&) const::{lambda(double const&)#1} const&, unsigned long*)
bool mozilla::BinarySearchIf<nsTArray_Impl<nsID, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsID, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsID, int (nsID const&, nsID const&)>(nsID const&, int ( const&)(nsID const&, nsID const&)) const::{lambda(nsID const&)#1}>(nsTArray_Impl<nsID, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsID, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsID, int (nsID const&, nsID const&)>(nsID const&, int ( const&)(nsID const&, nsID const&)) const::{lambda(nsID const&)#1} const&, unsigned long*)
Line
Count
Source
70
3
{
71
3
  MOZ_ASSERT(aBegin <= aEnd);
72
3
73
3
  size_t low = aBegin;
74
3
  size_t high = aEnd;
75
5
  while (high != low) {
76
5
    size_t middle = low + (high - low) / 2;
77
5
78
5
    // Allow any intermediate type so long as it provides a suitable ordering
79
5
    // relation.
80
5
    const int result = aCompare(aContainer[middle]);
81
5
82
5
    if (result == 0) {
83
3
      *aMatchOrInsertionPoint = middle;
84
3
      return true;
85
3
    }
86
2
87
2
    if (result < 0) {
88
2
      high = middle;
89
2
    } else {
90
0
      low = middle + 1;
91
0
    }
92
2
  }
93
3
94
3
  *aMatchOrInsertionPoint = low;
95
0
  return false;
96
3
}
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::HTMLSlotElement*, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::HTMLSlotElement*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::HTMLSlotElement*&, mozilla::dom::TreeOrderComparator>(mozilla::dom::HTMLSlotElement*& const&, mozilla::dom::TreeOrderComparator const&) const::{lambda(mozilla::dom::HTMLSlotElement* const&)#1}>(nsTArray_Impl<mozilla::dom::HTMLSlotElement*, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::HTMLSlotElement*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::HTMLSlotElement*&, mozilla::dom::TreeOrderComparator>(mozilla::dom::HTMLSlotElement*& const&, mozilla::dom::TreeOrderComparator const&) const::{lambda(mozilla::dom::HTMLSlotElement* const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:bool mozilla::BinarySearchIf<AutoTArray<mozilla::dom::Element*, 1ul>, (anonymous namespace)::PositionComparator>(AutoTArray<mozilla::dom::Element*, 1ul> const&, unsigned long, unsigned long, (anonymous namespace)::PositionComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsIDocument::FrameRequest, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsIDocument::FrameRequest, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<nsIDocument::FrameRequest, int> >(int const&, nsDefaultComparator<nsIDocument::FrameRequest, int> const&) const::{lambda(nsIDocument::FrameRequest const&)#1}>(nsTArray_Impl<nsIDocument::FrameRequest, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsIDocument::FrameRequest, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, nsDefaultComparator<nsIDocument::FrameRequest, int> >(int const&, nsDefaultComparator<nsIDocument::FrameRequest, int> const&) const::{lambda(nsIDocument::FrameRequest const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_base8.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::interval [92], (anonymous namespace)::CombiningComparator>((anonymous namespace)::interval const (&) [92], unsigned long, unsigned long, (anonymous namespace)::CombiningComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<unsigned short const*, mozilla::dom::IdToIndexComparator>(unsigned short const* const&, unsigned long, unsigned long, mozilla::dom::IdToIndexComparator const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_encoding0.cpp:bool mozilla::BinarySearchIf<mozilla::dom::EncodingProp [32], mozilla::NotNull<mozilla::Encoding const*> mozilla::dom::SearchEncodingProp<32>(mozilla::dom::EncodingProp const (&) [32], nsTSubstring<char> const&)::{lambda(mozilla::dom::EncodingProp const&)#1}>(mozilla::dom::EncodingProp const (&) [32], unsigned long, unsigned long, mozilla::NotNull<mozilla::Encoding const*> mozilla::dom::SearchEncodingProp<32>(mozilla::dom::EncodingProp const (&) [32], nsTSubstring<char> const&)::{lambda(mozilla::dom::EncodingProp const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_encoding0.cpp:bool mozilla::BinarySearchIf<mozilla::dom::EncodingProp [81], mozilla::NotNull<mozilla::Encoding const*> mozilla::dom::SearchEncodingProp<81>(mozilla::dom::EncodingProp const (&) [81], nsTSubstring<char> const&)::{lambda(mozilla::dom::EncodingProp const&)#1}>(mozilla::dom::EncodingProp const (&) [81], unsigned long, unsigned long, mozilla::NotNull<mozilla::Encoding const*> mozilla::dom::SearchEncodingProp<81>(mozilla::dom::EncodingProp const (&) [81], nsTSubstring<char> const&)::{lambda(mozilla::dom::EncodingProp const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_fetch0.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::InternalHeaders::Entry, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::InternalHeaders::Entry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::InternalHeaders::Entry const&, mozilla::dom::InternalHeaders::MaybeSortList()::Comparator>(mozilla::dom::InternalHeaders::Entry const& const&, mozilla::dom::InternalHeaders::MaybeSortList()::Comparator const&) const::{lambda(mozilla::dom::InternalHeaders::Entry const&)#1}>(nsTArray_Impl<mozilla::dom::InternalHeaders::Entry, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::InternalHeaders::Entry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::InternalHeaders::Entry const&, mozilla::dom::InternalHeaders::MaybeSortList()::Comparator>(mozilla::dom::InternalHeaders::Entry const& const&, mozilla::dom::InternalHeaders::MaybeSortList()::Comparator const&) const::{lambda(mozilla::dom::InternalHeaders::Entry const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:bool mozilla::BinarySearchIf<nsTArray<nsGenericHTMLFormElement*>, mozilla::dom::(anonymous namespace)::FormComparator>(nsTArray<nsGenericHTMLFormElement*> const&, unsigned long, unsigned long, mozilla::dom::(anonymous namespace)::FormComparator const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:bool mozilla::BinarySearchIf<mozilla::dom::(anonymous namespace)::RadioNodeListAdaptor, mozilla::dom::(anonymous namespace)::PositionComparator>(mozilla::dom::(anonymous namespace)::RadioNodeListAdaptor const&, unsigned long, unsigned long, mozilla::dom::(anonymous namespace)::PositionComparator const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:bool mozilla::BinarySearchIf<nsTArray<mozilla::dom::HTMLImageElement*>, mozilla::dom::(anonymous namespace)::FormComparator>(nsTArray<mozilla::dom::HTMLImageElement*> const&, unsigned long, unsigned long, mozilla::dom::(anonymous namespace)::FormComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<mozilla::dom::TextTrack>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrack>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrack*&, mozilla::dom::CompareTextTracks>(mozilla::dom::TextTrack*& const&, mozilla::dom::CompareTextTracks const&) const::{lambda(RefPtr<mozilla::dom::TextTrack> const&)#1}>(nsTArray_Impl<RefPtr<mozilla::dom::TextTrack>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrack>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrack*&, mozilla::dom::CompareTextTracks>(mozilla::dom::TextTrack*& const&, mozilla::dom::CompareTextTracks const&) const::{lambda(RefPtr<mozilla::dom::TextTrack> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<mozilla::dom::SimpleTextTrackEvent>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::SimpleTextTrackEvent>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::SimpleTextTrackEvent*&, mozilla::dom::CompareSimpleTextTrackEvents>(mozilla::dom::SimpleTextTrackEvent*& const&, mozilla::dom::CompareSimpleTextTrackEvents const&) const::{lambda(RefPtr<mozilla::dom::SimpleTextTrackEvent> const&)#1}>(nsTArray_Impl<RefPtr<mozilla::dom::SimpleTextTrackEvent>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::SimpleTextTrackEvent>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::SimpleTextTrackEvent*&, mozilla::dom::CompareSimpleTextTrackEvents>(mozilla::dom::SimpleTextTrackEvent*& const&, mozilla::dom::CompareSimpleTextTrackEvents const&) const::{lambda(RefPtr<mozilla::dom::SimpleTextTrackEvent> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int&, nsDefaultComparator<int, int&> >(int& const&, nsDefaultComparator<int, int&> const&) const::{lambda(int const&)#1}>(nsTArray_Impl<int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int&, nsDefaultComparator<int, int&> >(int& const&, nsDefaultComparator<int, int&> const&) const::{lambda(int const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrackCue*, mozilla::dom::CompareCuesByTime>(mozilla::dom::TextTrackCue* const&, mozilla::dom::CompareCuesByTime const&) const::{lambda(RefPtr<mozilla::dom::TextTrackCue> const&)#1}>(nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrackCue*, mozilla::dom::CompareCuesByTime>(mozilla::dom::TextTrackCue* const&, mozilla::dom::CompareCuesByTime const&) const::{lambda(RefPtr<mozilla::dom::TextTrackCue> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrackCue*&, mozilla::dom::CompareCuesByTime>(mozilla::dom::TextTrackCue*& const&, mozilla::dom::CompareCuesByTime const&) const::{lambda(RefPtr<mozilla::dom::TextTrackCue> const&)#1}>(nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::TextTrackCue>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::TextTrackCue*&, mozilla::dom::CompareCuesByTime>(mozilla::dom::TextTrackCue*& const&, mozilla::dom::CompareCuesByTime const&) const::{lambda(RefPtr<mozilla::dom::TextTrackCue> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsDefaultComparator<mozilla::dom::MediaKeyStatusMap::KeyStatus, mozilla::dom::MediaKeyStatusMap::KeyStatus> >(mozilla::dom::MediaKeyStatusMap::KeyStatus const&, nsDefaultComparator<mozilla::dom::MediaKeyStatusMap::KeyStatus, mozilla::dom::MediaKeyStatusMap::KeyStatus> const&) const::{lambda(mozilla::dom::MediaKeyStatusMap::KeyStatus const&)#1}>(nsTArray_Impl<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::MediaKeyStatusMap::KeyStatus, nsDefaultComparator<mozilla::dom::MediaKeyStatusMap::KeyStatus, mozilla::dom::MediaKeyStatusMap::KeyStatus> >(mozilla::dom::MediaKeyStatusMap::KeyStatus const&, nsDefaultComparator<mozilla::dom::MediaKeyStatusMap::KeyStatus, mozilla::dom::MediaKeyStatusMap::KeyStatus> const&) const::{lambda(mozilla::dom::MediaKeyStatusMap::KeyStatus const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::WebMTimeDataOffset, long> >(long const&, nsDefaultComparator<mozilla::WebMTimeDataOffset, long> const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1}>(nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::WebMTimeDataOffset, long> >(long const&, nsDefaultComparator<mozilla::WebMTimeDataOffset, long> const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, mozilla::SyncOffsetComparator>(long const&, mozilla::SyncOffsetComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1}>(nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, mozilla::SyncOffsetComparator>(long const&, mozilla::SyncOffsetComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned long, mozilla::TimeComparator>(unsigned long const&, mozilla::TimeComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1}>(nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned long, mozilla::TimeComparator>(unsigned long const&, mozilla::TimeComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::WebMBufferedParser, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::WebMBufferedParser, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::WebMBufferedParser, long> >(long const&, nsDefaultComparator<mozilla::WebMBufferedParser, long> const&) const::{lambda(mozilla::WebMBufferedParser const&)#1}>(nsTArray_Impl<mozilla::WebMBufferedParser, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::WebMBufferedParser, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::WebMBufferedParser, long> >(long const&, nsDefaultComparator<mozilla::WebMBufferedParser, long> const&) const::{lambda(mozilla::WebMBufferedParser const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, mozilla::SyncOffsetComparator>(int const&, mozilla::SyncOffsetComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1}>(nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::WebMTimeDataOffset, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<int, mozilla::SyncOffsetComparator>(int const&, mozilla::SyncOffsetComparator const&) const::{lambda(mozilla::WebMTimeDataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>, unsigned long nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::Index::MP4DataOffset, long> >(long const&, nsDefaultComparator<mozilla::Index::MP4DataOffset, long> const&) const::{lambda(mozilla::Index::MP4DataOffset const&)#1}>(nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<mozilla::Index::MP4DataOffset, long> >(long const&, nsDefaultComparator<mozilla::Index::MP4DataOffset, long> const&) const::{lambda(mozilla::Index::MP4DataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>, unsigned long nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<long, mozilla::Index::MP4DataOffset::EndOffsetComparator>(long const&, mozilla::Index::MP4DataOffset::EndOffsetComparator const&) const::{lambda(mozilla::Index::MP4DataOffset const&)#1}>(nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::Index::MP4DataOffset, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<long, mozilla::Index::MP4DataOffset::EndOffsetComparator>(long const&, mozilla::Index::MP4DataOffset::EndOffsetComparator const&) const::{lambda(mozilla::Index::MP4DataOffset const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::MIDIMessage, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::MIDIMessage, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::MIDIMessage&, mozilla::dom::MIDIMessageTimestampComparator>(mozilla::dom::MIDIMessage& const&, mozilla::dom::MIDIMessageTimestampComparator const&) const::{lambda(mozilla::dom::MIDIMessage const&)#1}>(nsTArray_Impl<mozilla::dom::MIDIMessage, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::MIDIMessage, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::MIDIMessage&, mozilla::dom::MIDIMessageTimestampComparator>(mozilla::dom::MIDIMessage& const&, mozilla::dom::MIDIMessageTimestampComparator const&) const::{lambda(mozilla::dom::MIDIMessage const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::quota::OriginInfo*, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::quota::OriginInfo*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::quota::OriginInfo*&, mozilla::dom::quota::OriginInfoLRUComparator>(mozilla::dom::quota::OriginInfo*& const&, mozilla::dom::quota::OriginInfoLRUComparator const&) const::{lambda(mozilla::dom::quota::OriginInfo* const&)#1}>(nsTArray_Impl<mozilla::dom::quota::OriginInfo*, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::quota::OriginInfo*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::quota::OriginInfo*&, mozilla::dom::quota::OriginInfoLRUComparator>(mozilla::dom::quota::OriginInfo*& const&, mozilla::dom::quota::OriginInfoLRUComparator const&) const::{lambda(mozilla::dom::quota::OriginInfo* const&)#1} const&, unsigned long*)
Unexecuted instantiation: ActorsParent.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&> >(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo const&)#1}>(nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&> >(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::ThreadInfo&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleThreadInfo const&)#1} const&, unsigned long*)
Unexecuted instantiation: ActorsParent.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&> >(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo const&)#1}>(nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&> >(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo, mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::DatabaseInfo*&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::ConnectionPool::IdleDatabaseInfo const&)#1} const&, unsigned long*)
Unexecuted instantiation: ActorsParent.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&> >(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1}>(nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&> >(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue& const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue&> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1} const&, unsigned long*)
Unexecuted instantiation: ActorsParent.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue> >(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1}>(nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue> >(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&, nsDefaultComparator<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue> const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1} const&, unsigned long*)
Unexecuted instantiation: ActorsParent.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::DeleteIndexOp::RemoveReferencesToIndex(mozilla::dom::indexedDB::(anonymous namespace)::DatabaseConnection*, mozilla::dom::indexedDB::Key const&, nsTArray<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue>&)::IndexIdComparator>(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&, mozilla::dom::indexedDB::(anonymous namespace)::DeleteIndexOp::RemoveReferencesToIndex(mozilla::dom::indexedDB::(anonymous namespace)::DatabaseConnection*, mozilla::dom::indexedDB::Key const&, nsTArray<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue>&)::IndexIdComparator const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1}>(nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue, mozilla::dom::indexedDB::(anonymous namespace)::DeleteIndexOp::RemoveReferencesToIndex(mozilla::dom::indexedDB::(anonymous namespace)::DatabaseConnection*, mozilla::dom::indexedDB::Key const&, nsTArray<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue>&)::IndexIdComparator>(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&, mozilla::dom::indexedDB::(anonymous namespace)::DeleteIndexOp::RemoveReferencesToIndex(mozilla::dom::indexedDB::(anonymous namespace)::DatabaseConnection*, mozilla::dom::indexedDB::Key const&, nsTArray<mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue>&)::IndexIdComparator const&) const::{lambda(mozilla::dom::indexedDB::(anonymous namespace)::IndexDataValue const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char16_t>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char16_t>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTString<char16_t> const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> >(nsTString<char16_t> const& const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> const&) const::{lambda(nsTString<char16_t> const&)#1}>(nsTArray_Impl<nsTString<char16_t>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char16_t>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTString<char16_t> const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> >(nsTString<char16_t> const& const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> const&) const::{lambda(nsTString<char16_t> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsTSubstring<char>, nsDefaultComparator<nsTString<char>, nsTSubstring<char> > >(nsTSubstring<char> const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> > const&) const::{lambda(nsTString<char> const&)#1}>(nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsTSubstring<char>, nsDefaultComparator<nsTString<char>, nsTSubstring<char> > >(nsTSubstring<char> const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> > const&) const::{lambda(nsTString<char> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTSubstring<char> const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> const&> >(nsTSubstring<char> const& const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> const&> const&) const::{lambda(nsTString<char> const&)#1}>(nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTSubstring<char> const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> const&> >(nsTSubstring<char> const& const&, nsDefaultComparator<nsTString<char>, nsTSubstring<char> const&> const&) const::{lambda(nsTString<char> const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_ipc1.cpp:bool mozilla::BinarySearchIf<mozilla::RangedPtr<mozilla::dom::ipc::SharedStringMap::Entry const>, mozilla::dom::ipc::SharedStringMap::Find(nsTString<char> const&, unsigned long*)::$_0>(mozilla::RangedPtr<mozilla::dom::ipc::SharedStringMap::Entry const> const&, unsigned long, unsigned long, mozilla::dom::ipc::SharedStringMap::Find(nsTString<char> const&, unsigned long*)::$_0 const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_dom_workers1.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::WorkerPrivate::TimeoutInfo*, mozilla::dom::(anonymous namespace)::AutoPtrComparator<mozilla::dom::WorkerPrivate::TimeoutInfo> >(mozilla::dom::WorkerPrivate::TimeoutInfo* const&, mozilla::dom::(anonymous namespace)::AutoPtrComparator<mozilla::dom::WorkerPrivate::TimeoutInfo> const&) const::{lambda(nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo> const&)#1}>(nsTArray_Impl<nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::WorkerPrivate::TimeoutInfo*, mozilla::dom::(anonymous namespace)::AutoPtrComparator<mozilla::dom::WorkerPrivate::TimeoutInfo> >(mozilla::dom::WorkerPrivate::TimeoutInfo* const&, mozilla::dom::(anonymous namespace)::AutoPtrComparator<mozilla::dom::WorkerPrivate::TimeoutInfo> const&) const::{lambda(nsAutoPtr<mozilla::dom::WorkerPrivate::TimeoutInfo> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime*> >(nsSMILInstanceTime* const&, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime*> const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1}>(nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime*> >(nsSMILInstanceTime* const&, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime*> const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime const*, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime const*> >(nsSMILInstanceTime const* const&, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime const*> const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1}>(nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime const*, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime const*> >(nsSMILInstanceTime const* const&, nsDefaultComparator<RefPtr<nsSMILInstanceTime>, nsSMILInstanceTime const*> const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*&, nsSMILTimedElement::InstanceTimeComparator>(nsSMILInstanceTime*& const&, nsSMILTimedElement::InstanceTimeComparator const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1}>(nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*&, nsSMILTimedElement::InstanceTimeComparator>(nsSMILInstanceTime*& const&, nsSMILTimedElement::InstanceTimeComparator const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*, nsSMILTimedElement::InstanceTimeComparator>(nsSMILInstanceTime* const&, nsSMILTimedElement::InstanceTimeComparator const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1}>(nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsSMILInstanceTime>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsSMILInstanceTime*, nsSMILTimedElement::InstanceTimeComparator>(nsSMILInstanceTime* const&, nsSMILTimedElement::InstanceTimeComparator const&) const::{lambda(RefPtr<nsSMILInstanceTime> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char16_t>, nsTArrayFallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char16_t>, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<nsTString<char16_t> const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> >(nsTString<char16_t> const& const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> const&) const::{lambda(nsTString<char16_t> const&)#1}>(nsTArray_Impl<nsTString<char16_t>, nsTArrayFallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char16_t>, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<nsTString<char16_t> const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> >(nsTString<char16_t> const& const&, nsDefaultComparator<nsTString<char16_t>, nsTString<char16_t> const&> const&) const::{lambda(nsTString<char16_t> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<mozilla::dom::PerformanceEntry>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::PerformanceEntry>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::PerformanceEntry*&, mozilla::dom::PerformanceEntryComparator>(mozilla::dom::PerformanceEntry*& const&, mozilla::dom::PerformanceEntryComparator const&) const::{lambda(RefPtr<mozilla::dom::PerformanceEntry> const&)#1}>(nsTArray_Impl<RefPtr<mozilla::dom::PerformanceEntry>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<mozilla::dom::PerformanceEntry>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::PerformanceEntry*&, mozilla::dom::PerformanceEntryComparator>(mozilla::dom::PerformanceEntry*& const&, mozilla::dom::PerformanceEntryComparator const&) const::{lambda(RefPtr<mozilla::dom::PerformanceEntry> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsDefaultComparator<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry> >(mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry const&, nsDefaultComparator<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry> const&) const::{lambda(mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry const&)#1}>(nsTArray_Impl<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, nsDefaultComparator<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry> >(mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry const&, nsDefaultComparator<mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry, mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry> const&) const::{lambda(mozilla::dom::XMLHttpRequestMainThread::nsHeaderVisitor::HeaderEntry const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::css::ImageLoader::FrameWithFlags, mozilla::css::ImageLoader::FrameOnlyComparator>(mozilla::css::ImageLoader::FrameWithFlags const&, mozilla::css::ImageLoader::FrameOnlyComparator const&) const::{lambda(mozilla::css::ImageLoader::FrameWithFlags const&)#1}>(nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<mozilla::css::ImageLoader::FrameWithFlags, mozilla::css::ImageLoader::FrameOnlyComparator>(mozilla::css::ImageLoader::FrameWithFlags const&, mozilla::css::ImageLoader::FrameOnlyComparator const&) const::{lambda(mozilla::css::ImageLoader::FrameWithFlags const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsCOMPtr<imgIRequest>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsCOMPtr<imgIRequest>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<imgIRequest*, nsDefaultComparator<nsCOMPtr<imgIRequest>, imgIRequest*> >(imgIRequest* const&, nsDefaultComparator<nsCOMPtr<imgIRequest>, imgIRequest*> const&) const::{lambda(nsCOMPtr<imgIRequest> const&)#1}>(nsTArray_Impl<nsCOMPtr<imgIRequest>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsCOMPtr<imgIRequest>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<imgIRequest*, nsDefaultComparator<nsCOMPtr<imgIRequest>, imgIRequest*> >(imgIRequest* const&, nsDefaultComparator<nsCOMPtr<imgIRequest>, imgIRequest*> const&) const::{lambda(nsCOMPtr<imgIRequest> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::css::ImageLoader::FrameWithFlags, mozilla::css::ImageLoader::FrameOnlyComparator>(mozilla::css::ImageLoader::FrameWithFlags const&, mozilla::css::ImageLoader::FrameOnlyComparator const&) const::{lambda(mozilla::css::ImageLoader::FrameWithFlags const&)#1}>(nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::css::ImageLoader::FrameWithFlags, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::css::ImageLoader::FrameWithFlags, mozilla::css::ImageLoader::FrameOnlyComparator>(mozilla::css::ImageLoader::FrameWithFlags const&, mozilla::css::ImageLoader::FrameOnlyComparator const&) const::{lambda(mozilla::css::ImageLoader::FrameWithFlags const&)#1} const&, unsigned long*)
bool mozilla::BinarySearchIf<nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>::BinaryIndexOf<char const*, nsDefaultComparator<char const*, char const*> >(char const* const&, nsDefaultComparator<char const*, char const*> const&) const::{lambda(char const* const&)#1}>(nsTArray_Impl<char const*, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>::BinaryIndexOf<char const*, nsDefaultComparator<char const*, char const*> >(char const* const&, nsDefaultComparator<char const*, char const*> const&) const::{lambda(char const* const&)#1} const&, unsigned long*)
Line
Count
Source
70
402
{
71
402
  MOZ_ASSERT(aBegin <= aEnd);
72
402
73
402
  size_t low = aBegin;
74
402
  size_t high = aEnd;
75
1.84k
  while (high != low) {
76
1.75k
    size_t middle = low + (high - low) / 2;
77
1.75k
78
1.75k
    // Allow any intermediate type so long as it provides a suitable ordering
79
1.75k
    // relation.
80
1.75k
    const int result = aCompare(aContainer[middle]);
81
1.75k
82
1.75k
    if (result == 0) {
83
306
      *aMatchOrInsertionPoint = middle;
84
306
      return true;
85
306
    }
86
1.44k
87
1.44k
    if (result < 0) {
88
939
      high = middle;
89
939
    } else {
90
507
      low = middle + 1;
91
507
    }
92
1.44k
  }
93
402
94
402
  *aMatchOrInsertionPoint = low;
95
96
  return false;
96
402
}
bool mozilla::BinarySearchIf<nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<char const* const&, nsDefaultComparator<char const*, char const* const&> >(char const* const& const&, nsDefaultComparator<char const*, char const* const&> const&) const::{lambda(char const* const&)#1}>(nsTArray_Impl<char const*, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<char const*, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<char const* const&, nsDefaultComparator<char const*, char const* const&> >(char const* const& const&, nsDefaultComparator<char const*, char const* const&> const&) const::{lambda(char const* const&)#1} const&, unsigned long*)
Line
Count
Source
70
96
{
71
96
  MOZ_ASSERT(aBegin <= aEnd);
72
96
73
96
  size_t low = aBegin;
74
96
  size_t high = aEnd;
75
423
  while (high != low) {
76
327
    size_t middle = low + (high - low) / 2;
77
327
78
327
    // Allow any intermediate type so long as it provides a suitable ordering
79
327
    // relation.
80
327
    const int result = aCompare(aContainer[middle]);
81
327
82
327
    if (result == 0) {
83
0
      *aMatchOrInsertionPoint = middle;
84
0
      return true;
85
0
    }
86
327
87
327
    if (result < 0) {
88
63
      high = middle;
89
264
    } else {
90
264
      low = middle + 1;
91
264
    }
92
327
  }
93
96
94
96
  *aMatchOrInsertionPoint = low;
95
96
  return false;
96
96
}
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::MathVarMappingWrapper, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >((anonymous namespace)::MathVarMappingWrapper const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:bool mozilla::BinarySearchIf<(anonymous namespace)::TabwidthAdaptor, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >((anonymous namespace)::TabwidthAdaptor const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned int, nsDefaultComparator<unsigned int, unsigned int> >(unsigned int const&, nsDefaultComparator<unsigned int, unsigned int> const&) const::{lambda(unsigned int const&)#1}>(nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned int, nsDefaultComparator<unsigned int, unsigned int> >(unsigned int const&, nsDefaultComparator<unsigned int, unsigned int> const&) const::{lambda(unsigned int const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_accessible_base0.cpp:bool mozilla::BinarySearchIf<nsRoleMapEntry [114], (anonymous namespace)::RoleComparator>(nsRoleMapEntry const (&) [114], unsigned long, unsigned long, (anonymous namespace)::RoleComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray<unsigned int>, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(nsTArray<unsigned int> const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<JITFrameInfoForBufferRange, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<JITFrameInfoForBufferRange, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned long, PositionInRangeComparator<JITFrameInfoForBufferRange, unsigned long> >(unsigned long const&, PositionInRangeComparator<JITFrameInfoForBufferRange, unsigned long> const&) const::{lambda(JITFrameInfoForBufferRange const&)#1}>(nsTArray_Impl<JITFrameInfoForBufferRange, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<JITFrameInfoForBufferRange, nsTArrayInfallibleAllocator>::BinaryIndexOf<unsigned long, PositionInRangeComparator<JITFrameInfoForBufferRange, unsigned long> >(unsigned long const&, PositionInRangeComparator<JITFrameInfoForBufferRange, unsigned long> const&) const::{lambda(JITFrameInfoForBufferRange const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:bool mozilla::BinarySearchIf<nsTArray<mozInlineSpellWordUtil::DOMTextMapping>, (anonymous namespace)::FirstLargerOffset<mozInlineSpellWordUtil::DOMTextMapping> >(nsTArray<mozInlineSpellWordUtil::DOMTextMapping> const&, unsigned long, unsigned long, (anonymous namespace)::FirstLargerOffset<mozInlineSpellWordUtil::DOMTextMapping> const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:bool mozilla::BinarySearchIf<nsTArray<mozInlineSpellWordUtil::RealWord>, (anonymous namespace)::FirstLargerOffset<mozInlineSpellWordUtil::RealWord> >(nsTArray<mozInlineSpellWordUtil::RealWord> const&, unsigned long, unsigned long, (anonymous namespace)::FirstLargerOffset<mozInlineSpellWordUtil::RealWord> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<TransportSecurityPreload [487], TransportSecurityPreloadBinarySearchComparator>(TransportSecurityPreload const (&) [487], unsigned long, unsigned long, TransportSecurityPreloadBinarySearchComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<CertAuthorityHash [198], mozilla::psm::BinaryHashSearchArrayComparator>(CertAuthorityHash const (&) [198], unsigned long, unsigned long, mozilla::psm::BinaryHashSearchArrayComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsAtom*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> >(nsAtom* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> const&) const::{lambda(RefPtr<nsAtom> const&)#1}>(nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsAtom*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> >(nsAtom* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> const&) const::{lambda(RefPtr<nsAtom> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsAtom*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> >(nsAtom* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> const&) const::{lambda(RefPtr<nsAtom> const&)#1}>(nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsAtom*, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> >(nsAtom* const&, nsDefaultComparator<RefPtr<nsAtom>, nsAtom*> const&) const::{lambda(RefPtr<nsAtom> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<FallibleTArray<mozilla::safebrowsing::ChunkSet::Range>, mozilla::safebrowsing::ChunkSet::Range::IntersectionComparator>(FallibleTArray<mozilla::safebrowsing::ChunkSet::Range> const&, unsigned long, unsigned long, mozilla::safebrowsing::ChunkSet::Range::IntersectionComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::safebrowsing::ChunkSet::Range, nsTArrayFallibleAllocator>, unsigned long nsTArray_Impl<mozilla::safebrowsing::ChunkSet::Range, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<mozilla::safebrowsing::ChunkSet::Range const&, nsDefaultComparator<mozilla::safebrowsing::ChunkSet::Range, mozilla::safebrowsing::ChunkSet::Range const&> >(mozilla::safebrowsing::ChunkSet::Range const& const&, nsDefaultComparator<mozilla::safebrowsing::ChunkSet::Range, mozilla::safebrowsing::ChunkSet::Range const&> const&) const::{lambda(mozilla::safebrowsing::ChunkSet::Range const&)#1}>(nsTArray_Impl<mozilla::safebrowsing::ChunkSet::Range, nsTArrayFallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::safebrowsing::ChunkSet::Range, nsTArrayFallibleAllocator>::IndexOfFirstElementGt<mozilla::safebrowsing::ChunkSet::Range const&, nsDefaultComparator<mozilla::safebrowsing::ChunkSet::Range, mozilla::safebrowsing::ChunkSet::Range const&> >(mozilla::safebrowsing::ChunkSet::Range const& const&, nsDefaultComparator<mozilla::safebrowsing::ChunkSet::Range, mozilla::safebrowsing::ChunkSet::Range const&> const&) const::{lambda(mozilla::safebrowsing::ChunkSet::Range const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsDefaultComparator<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> > >(mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> const&, nsDefaultComparator<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> > const&) const::{lambda(mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> const&)#1}>(nsTArray_Impl<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsTArrayInfallibleAllocator>::BinaryIndexOf<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, nsDefaultComparator<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> > >(mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> const&, nsDefaultComparator<mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator>, mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> > const&) const::{lambda(mozilla::safebrowsing::SafebrowsingHash<32u, mozilla::safebrowsing::CompletionComparator> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<long, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<long, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<long, long> >(long const&, nsDefaultComparator<long, long> const&) const::{lambda(long const&)#1}>(nsTArray_Impl<long, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<long, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<long, nsDefaultComparator<long, long> >(long const&, nsDefaultComparator<long, long> const&) const::{lambda(long const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<long, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<long, nsTArrayInfallibleAllocator>::BinaryIndexOf<long, nsDefaultComparator<long, long> >(long const&, nsDefaultComparator<long, long> const&) const::{lambda(long const&)#1}>(nsTArray_Impl<long, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<long, nsTArrayInfallibleAllocator>::BinaryIndexOf<long, nsDefaultComparator<long, long> >(long const&, nsDefaultComparator<long, long> const&) const::{lambda(long const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<char, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<char, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<char, nsDefaultComparator<char, char> >(char const&, nsDefaultComparator<char, char> const&) const::{lambda(char const&)#1}>(nsTArray_Impl<char, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<char, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<char, nsDefaultComparator<char, char> >(char const&, nsDefaultComparator<char, char> const&) const::{lambda(char const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<char, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<char, nsTArrayInfallibleAllocator>::BinaryIndexOf<char, nsDefaultComparator<char, char> >(char const&, nsDefaultComparator<char, char> const&) const::{lambda(char const&)#1}>(nsTArray_Impl<char, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<char, nsTArrayInfallibleAllocator>::BinaryIndexOf<char, nsDefaultComparator<char, char> >(char const&, nsDefaultComparator<char, char> const&) const::{lambda(char const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned int, nsDefaultComparator<unsigned int, unsigned int> >(unsigned int const&, nsDefaultComparator<unsigned int, unsigned int> const&) const::{lambda(unsigned int const&)#1}>(nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned int, nsDefaultComparator<unsigned int, unsigned int> >(unsigned int const&, nsDefaultComparator<unsigned int, unsigned int> const&) const::{lambda(unsigned int const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsTString<char>, nsDefaultComparator<nsTString<char>, nsTString<char> > >(nsTString<char> const&, nsDefaultComparator<nsTString<char>, nsTString<char> > const&) const::{lambda(nsTString<char> const&)#1}>(nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsTString<char>, nsDefaultComparator<nsTString<char>, nsTString<char> > >(nsTString<char> const&, nsDefaultComparator<nsTString<char>, nsTString<char> > const&) const::{lambda(nsTString<char> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTString<char>, nsDefaultComparator<nsTString<char>, nsTString<char> > >(nsTString<char> const&, nsDefaultComparator<nsTString<char>, nsTString<char> > const&) const::{lambda(nsTString<char> const&)#1}>(nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsTString<char>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsTString<char>, nsDefaultComparator<nsTString<char>, nsTString<char> > >(nsTString<char> const&, nsDefaultComparator<nsTString<char>, nsTString<char> > const&) const::{lambda(nsTString<char> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIFile>, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > >(nsCOMPtr<nsIFile> const&, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > const&) const::{lambda(nsCOMPtr<nsIFile> const&)#1}>(nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<nsCOMPtr<nsIFile>, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > >(nsCOMPtr<nsIFile> const&, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > const&) const::{lambda(nsCOMPtr<nsIFile> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsCOMPtr<nsIFile>, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > >(nsCOMPtr<nsIFile> const&, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > const&) const::{lambda(nsCOMPtr<nsIFile> const&)#1}>(nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<nsCOMPtr<nsIFile>, nsTArrayInfallibleAllocator>::BinaryIndexOf<nsCOMPtr<nsIFile>, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > >(nsCOMPtr<nsIFile> const&, nsDefaultComparator<nsCOMPtr<nsIFile>, nsCOMPtr<nsIFile> > const&) const::{lambda(nsCOMPtr<nsIFile> const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, TestTArray::IntComparator>(int const&, TestTArray::IntComparator const&) const::{lambda(int const&)#1}>(nsTArray_Impl<int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, TestTArray::IntComparator>(int const&, TestTArray::IntComparator const&) const::{lambda(int const&)#1} const&, unsigned long*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest2.cpp:bool mozilla::BinarySearchIf<nsTArray_Impl<int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, TestTArray::TArray_test_comparator_objects_Test::TestBody()::$_140>(int const&, TestTArray::TArray_test_comparator_objects_Test::TestBody()::$_140 const&) const::{lambda(int const&)#1}>(nsTArray_Impl<int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<int, nsTArrayInfallibleAllocator>::BinaryIndexOf<int, TestTArray::TArray_test_comparator_objects_Test::TestBody()::$_140>(int const&, TestTArray::TArray_test_comparator_objects_Test::TestBody()::$_140 const&) const::{lambda(int const&)#1} const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned int&, nsDefaultComparator<unsigned int, unsigned int&> >(unsigned int& const&, nsDefaultComparator<unsigned int, unsigned int&> const&) const::{lambda(unsigned int const&)#1}>(nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator> const&, unsigned long, unsigned long, unsigned long nsTArray_Impl<unsigned int, nsTArrayInfallibleAllocator>::IndexOfFirstElementGt<unsigned int&, nsDefaultComparator<unsigned int, unsigned int&> >(unsigned int& const&, nsDefaultComparator<unsigned int, unsigned int&> const&) const::{lambda(unsigned int const&)#1} const&, unsigned long*)
bool mozilla::BinarySearchIf<unsigned int*, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(unsigned int* const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Line
Count
Source
70
67.1k
{
71
67.1k
  MOZ_ASSERT(aBegin <= aEnd);
72
67.1k
73
67.1k
  size_t low = aBegin;
74
67.1k
  size_t high = aEnd;
75
212k
  while (high != low) {
76
212k
    size_t middle = low + (high - low) / 2;
77
212k
78
212k
    // Allow any intermediate type so long as it provides a suitable ordering
79
212k
    // relation.
80
212k
    const int result = aCompare(aContainer[middle]);
81
212k
82
212k
    if (result == 0) {
83
67.1k
      *aMatchOrInsertionPoint = middle;
84
67.1k
      return true;
85
67.1k
    }
86
145k
87
145k
    if (result < 0) {
88
81.1k
      high = middle;
89
81.1k
    } else {
90
64.1k
      low = middle + 1;
91
64.1k
    }
92
145k
  }
93
67.1k
94
67.1k
  *aMatchOrInsertionPoint = low;
95
2
  return false;
96
67.1k
}
Unified_cpp_js_src14.cpp:bool mozilla::BinarySearchIf<ICEntries, ComputeBinarySearchMid(js::jit::BaselineScript*, unsigned int, unsigned long*)::{lambda(js::jit::ICEntry&)#1}>(ICEntries const&, unsigned long, unsigned long, ComputeBinarySearchMid(js::jit::BaselineScript*, unsigned int, unsigned long*)::{lambda(js::jit::ICEntry&)#1} const&, unsigned long*)
Line
Count
Source
70
104k
{
71
104k
  MOZ_ASSERT(aBegin <= aEnd);
72
104k
73
104k
  size_t low = aBegin;
74
104k
  size_t high = aEnd;
75
364k
  while (high != low) {
76
364k
    size_t middle = low + (high - low) / 2;
77
364k
78
364k
    // Allow any intermediate type so long as it provides a suitable ordering
79
364k
    // relation.
80
364k
    const int result = aCompare(aContainer[middle]);
81
364k
82
364k
    if (result == 0) {
83
104k
      *aMatchOrInsertionPoint = middle;
84
104k
      return true;
85
104k
    }
86
259k
87
259k
    if (result < 0) {
88
93.3k
      high = middle;
89
166k
    } else {
90
166k
      low = middle + 1;
91
166k
    }
92
259k
  }
93
104k
94
104k
  *aMatchOrInsertionPoint = low;
95
0
  return false;
96
104k
}
Unexecuted instantiation: Unified_cpp_js_src14.cpp:bool mozilla::BinarySearchIf<ICEntries, js::jit::BaselineScript::icEntryFromReturnOffset(js::jit::CodeOffset)::$_0>(ICEntries const&, unsigned long, unsigned long, js::jit::BaselineScript::icEntryFromReturnOffset(js::jit::CodeOffset)::$_0 const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<ProjectLazyFuncIndex, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(ProjectLazyFuncIndex const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<ProjectFuncIndex, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(ProjectFuncIndex const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<CallSiteRetAddrOffset, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(CallSiteRetAddrOffset const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<TrapSitePCOffset, mozilla::detail::BinarySearchDefaultComparator<unsigned int> >(TrapSitePCOffset const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<unsigned int> const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<mozilla::Vector<js::wasm::CodeSegment const*, 0ul, js::SystemAllocPolicy>, ProcessCodeSegmentMap::CodeSegmentPC>(mozilla::Vector<js::wasm::CodeSegment const*, 0ul, js::SystemAllocPolicy> const&, unsigned long, unsigned long, ProcessCodeSegmentMap::CodeSegmentPC const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<mozilla::Vector<js::wasm::Instance*, 0ul, js::SystemAllocPolicy>, InstanceComparator>(mozilla::Vector<js::wasm::Instance*, 0ul, js::SystemAllocPolicy> const&, unsigned long, unsigned long, InstanceComparator const&, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearchIf<mozilla::Vector<js::wasm::CodeRange, 0ul, js::SystemAllocPolicy>, mozilla::detail::BinarySearchDefaultComparator<js::wasm::CodeRange::OffsetInCode> >(mozilla::Vector<js::wasm::CodeRange, 0ul, js::SystemAllocPolicy> const&, unsigned long, unsigned long, mozilla::detail::BinarySearchDefaultComparator<js::wasm::CodeRange::OffsetInCode> const&, unsigned long*)
97
98
namespace detail {
99
100
template<class T>
101
class BinarySearchDefaultComparator
102
{
103
public:
104
  explicit BinarySearchDefaultComparator(const T& aTarget)
105
    : mTarget(aTarget)
106
67.1k
  {}
Unexecuted instantiation: mozilla::detail::BinarySearchDefaultComparator<char16_t>::BinarySearchDefaultComparator(char16_t const&)
mozilla::detail::BinarySearchDefaultComparator<unsigned int>::BinarySearchDefaultComparator(unsigned int const&)
Line
Count
Source
106
67.1k
  {}
Unexecuted instantiation: mozilla::detail::BinarySearchDefaultComparator<js::wasm::CodeRange::OffsetInCode>::BinarySearchDefaultComparator(js::wasm::CodeRange::OffsetInCode const&)
107
108
  template <class U>
109
212k
  int operator()(const U& aVal) const {
110
212k
    if (mTarget == aVal) {
111
67.1k
      return 0;
112
67.1k
    }
113
145k
114
145k
    if (mTarget < aVal) {
115
81.1k
      return -1;
116
81.1k
    }
117
64.1k
118
64.1k
    return 1;
119
64.1k
  }
Unexecuted instantiation: int mozilla::detail::BinarySearchDefaultComparator<char16_t>::operator()<char16_t>(char16_t const&) const
int mozilla::detail::BinarySearchDefaultComparator<unsigned int>::operator()<unsigned int>(unsigned int const&) const
Line
Count
Source
109
212k
  int operator()(const U& aVal) const {
110
212k
    if (mTarget == aVal) {
111
67.1k
      return 0;
112
67.1k
    }
113
145k
114
145k
    if (mTarget < aVal) {
115
81.1k
      return -1;
116
81.1k
    }
117
64.1k
118
64.1k
    return 1;
119
64.1k
  }
Unexecuted instantiation: int mozilla::detail::BinarySearchDefaultComparator<js::wasm::CodeRange::OffsetInCode>::operator()<js::wasm::CodeRange>(js::wasm::CodeRange const&) const
120
121
private:
122
  const T& mTarget;
123
};
124
125
} // namespace detail
126
127
template <typename Container, typename T>
128
bool
129
BinarySearch(const Container& aContainer, size_t aBegin, size_t aEnd,
130
             T aTarget, size_t* aMatchOrInsertionPoint)
131
67.1k
{
132
67.1k
  return BinarySearchIf(aContainer, aBegin, aEnd,
133
67.1k
                        detail::BinarySearchDefaultComparator<T>(aTarget),
134
67.1k
                        aMatchOrInsertionPoint);
135
67.1k
}
Unexecuted instantiation: bool mozilla::BinarySearch<nsTArray<char16_t>, char16_t>(nsTArray<char16_t> const&, unsigned long, unsigned long, char16_t, unsigned long*)
Unexecuted instantiation: gfxFontUtils.cpp:bool mozilla::BinarySearch<(anonymous namespace)::Format14CmapWrapper, unsigned int>((anonymous namespace)::Format14CmapWrapper const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: gfxFontUtils.cpp:bool mozilla::BinarySearch<(anonymous namespace)::NonDefUVSTableWrapper, unsigned int>((anonymous namespace)::NonDefUVSTableWrapper const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:bool mozilla::BinarySearch<(anonymous namespace)::MathVarMappingWrapper, unsigned int>((anonymous namespace)::MathVarMappingWrapper const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:bool mozilla::BinarySearch<(anonymous namespace)::TabwidthAdaptor, unsigned int>((anonymous namespace)::TabwidthAdaptor const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearch<nsTArray<unsigned int>, unsigned int>(nsTArray<unsigned int> const&, unsigned long, unsigned long, unsigned int, unsigned long*)
bool mozilla::BinarySearch<unsigned int*, unsigned int>(unsigned int* const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Line
Count
Source
131
67.1k
{
132
67.1k
  return BinarySearchIf(aContainer, aBegin, aEnd,
133
67.1k
                        detail::BinarySearchDefaultComparator<T>(aTarget),
134
67.1k
                        aMatchOrInsertionPoint);
135
67.1k
}
Unexecuted instantiation: bool mozilla::BinarySearch<ProjectLazyFuncIndex, unsigned int>(ProjectLazyFuncIndex const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearch<ProjectFuncIndex, unsigned int>(ProjectFuncIndex const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearch<CallSiteRetAddrOffset, unsigned int>(CallSiteRetAddrOffset const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearch<TrapSitePCOffset, unsigned int>(TrapSitePCOffset const&, unsigned long, unsigned long, unsigned int, unsigned long*)
Unexecuted instantiation: bool mozilla::BinarySearch<mozilla::Vector<js::wasm::CodeRange, 0ul, js::SystemAllocPolicy>, js::wasm::CodeRange::OffsetInCode>(mozilla::Vector<js::wasm::CodeRange, 0ul, js::SystemAllocPolicy> const&, unsigned long, unsigned long, js::wasm::CodeRange::OffsetInCode, unsigned long*)
136
137
} // namespace mozilla
138
139
#endif // mozilla_BinarySearch_h