/work/obj-fuzz/dist/include/mozilla/ArrayUtils.h
Line | Count | Source (jump to first uncovered line) |
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 | | /* |
8 | | * Implements various helper functions related to arrays. |
9 | | */ |
10 | | |
11 | | #ifndef mozilla_ArrayUtils_h |
12 | | #define mozilla_ArrayUtils_h |
13 | | |
14 | | #include "mozilla/Assertions.h" |
15 | | #include "mozilla/Attributes.h" |
16 | | |
17 | | #include <algorithm> |
18 | | #include <stddef.h> |
19 | | |
20 | | #ifdef __cplusplus |
21 | | |
22 | | #include "mozilla/Alignment.h" |
23 | | #include "mozilla/Array.h" |
24 | | #include "mozilla/EnumeratedArray.h" |
25 | | #include "mozilla/TypeTraits.h" |
26 | | |
27 | | namespace mozilla { |
28 | | |
29 | | /* |
30 | | * Safely subtract two pointers when it is known that aEnd >= aBegin, yielding a |
31 | | * size_t result. |
32 | | * |
33 | | * Ordinary pointer subtraction yields a ptrdiff_t result, which, being signed, |
34 | | * has insufficient range to express the distance between pointers at opposite |
35 | | * ends of the address space. Furthermore, most compilers use ptrdiff_t to |
36 | | * represent the intermediate byte address distance, before dividing by |
37 | | * sizeof(T); if that intermediate result overflows, they'll produce results |
38 | | * with the wrong sign even when the correct scaled distance would fit in a |
39 | | * ptrdiff_t. |
40 | | */ |
41 | | template<class T> |
42 | | MOZ_ALWAYS_INLINE size_t |
43 | | PointerRangeSize(T* aBegin, T* aEnd) |
44 | 3.60M | { |
45 | 3.60M | MOZ_ASSERT(aEnd >= aBegin); |
46 | 3.60M | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); |
47 | 3.60M | } unsigned long mozilla::PointerRangeSize<unsigned char>(unsigned char*, unsigned char*) Line | Count | Source | 44 | 6 | { | 45 | 6 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 6 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 6 | } |
unsigned long mozilla::PointerRangeSize<unsigned char const>(unsigned char const*, unsigned char const*) Line | Count | Source | 44 | 3.26M | { | 45 | 3.26M | MOZ_ASSERT(aEnd >= aBegin); | 46 | 3.26M | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 3.26M | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<char const>(char const*, char const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<mozilla::gfx::FontVariation const>(mozilla::gfx::FontVariation const*, mozilla::gfx::FontVariation const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<mozilla::wr::BorderSide const>(mozilla::wr::BorderSide const*, mozilla::wr::BorderSide const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<mozilla::wr::GlyphInstance const>(mozilla::wr::GlyphInstance const*, mozilla::wr::GlyphInstance const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<mozilla::Keyframe>(mozilla::Keyframe*, mozilla::Keyframe*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<JS::Value const>(JS::Value const*, JS::Value const*) unsigned long mozilla::PointerRangeSize<char16_t const>(char16_t const*, char16_t const*) Line | Count | Source | 44 | 344k | { | 45 | 344k | MOZ_ASSERT(aEnd >= aBegin); | 46 | 344k | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 344k | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<unsigned long const>(unsigned long const*, unsigned long const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<nsCOMPtr<nsIPerformanceObserver> const>(nsCOMPtr<nsIPerformanceObserver> const*, nsCOMPtr<nsIPerformanceObserver> const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<int>(int*, int*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::ValType const>(js::wasm::ValType const*, js::wasm::ValType const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::StructField const>(js::wasm::StructField const*, js::wasm::StructField const*) unsigned long mozilla::PointerRangeSize<js::UnboxedLayout::Property const>(js::UnboxedLayout::Property const*, js::UnboxedLayout::Property const*) Line | Count | Source | 44 | 1 | { | 45 | 1 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 1 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 1 | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::HeapReceiverGuard>(js::HeapReceiverGuard*, js::HeapReceiverGuard*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::GCPtr<JSFlatString*> >(js::GCPtr<JSFlatString*>*, js::GCPtr<JSFlatString*>*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<char16_t>(char16_t*, char16_t*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::LinearTerm const>(js::jit::LinearTerm const*, js::jit::LinearTerm const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<char const* const>(char const* const*, char const* const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<mozilla::Utf8Unit const>(mozilla::Utf8Unit const*, mozilla::Utf8Unit const*) unsigned long mozilla::PointerRangeSize<js::jit::LiveBundle* const>(js::jit::LiveBundle* const*, js::jit::LiveBundle* const*) Line | Count | Source | 44 | 730 | { | 45 | 730 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 730 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 730 | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::MDefinition* const>(js::jit::MDefinition* const*, js::jit::MDefinition* const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::LAllocation const>(js::jit::LAllocation const*, js::jit::LAllocation const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::LDefinition const>(js::jit::LDefinition const*, js::jit::LDefinition const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::AllocationIntegrityState::InstructionInfo const>(js::jit::AllocationIntegrityState::InstructionInfo const*, js::jit::AllocationIntegrityState::InstructionInfo const*) unsigned long mozilla::PointerRangeSize<js::jit::SpilledRegister const>(js::jit::SpilledRegister const*, js::jit::SpilledRegister const*) Line | Count | Source | 44 | 229 | { | 45 | 229 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 229 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 229 | } |
unsigned long mozilla::PointerRangeSize<js::jit::MBasicBlock* const>(js::jit::MBasicBlock* const*, js::jit::MBasicBlock* const*) Line | Count | Source | 44 | 112 | { | 45 | 112 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 112 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 112 | } |
unsigned long mozilla::PointerRangeSize<int const>(int const*, int const*) Line | Count | Source | 44 | 2 | { | 45 | 2 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 2 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 2 | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::TypeSet::Type const>(js::TypeSet::Type const*, js::TypeSet::Type const*) unsigned long mozilla::PointerRangeSize<jsid const>(jsid const*, jsid const*) Line | Count | Source | 44 | 8 | { | 45 | 8 | MOZ_ASSERT(aEnd >= aBegin); | 46 | 8 | return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); | 47 | 8 | } |
Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<char>(char*, char*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<JS::PropertyDescriptor const>(JS::PropertyDescriptor const*, JS::PropertyDescriptor const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::ParseTask* const>(js::ParseTask* const*, js::ParseTask* const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<unsigned int const>(unsigned int const*, unsigned int const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::CodeRange const>(js::wasm::CodeRange const*, js::wasm::CodeRange const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::CallSite const>(js::wasm::CallSite const*, js::wasm::CallSite const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::TrapSite const>(js::wasm::TrapSite const*, js::wasm::TrapSite const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::wasm::CallSiteTarget const>(js::wasm::CallSiteTarget const*, js::wasm::CallSiteTarget const*) Unexecuted instantiation: unsigned long mozilla::PointerRangeSize<js::jit::MIRType const>(js::jit::MIRType const*, js::jit::MIRType const*) |
48 | | |
49 | | /* |
50 | | * Compute the length of an array with constant length. (Use of this method |
51 | | * with a non-array pointer will not compile.) |
52 | | * |
53 | | * Beware of the implicit trailing '\0' when using this with string constants. |
54 | | */ |
55 | | template<typename T, size_t N> |
56 | | constexpr size_t |
57 | | ArrayLength(T (&aArr)[N]) |
58 | 37.0M | { |
59 | 37.0M | return N; |
60 | 37.0M | } Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 256ul>(char (&) [256ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 64ul>(char (&) [64ul]) unsigned long mozilla::ArrayLength<char const* const, 4ul>(char const* const (&) [4ul]) Line | Count | Source | 58 | 15 | { | 59 | 15 | return N; | 60 | 15 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 8ul>(unsigned char const (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 8ul>(unsigned char (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 16384ul>(unsigned char (&) [16384ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 32ul>(unsigned char (&) [32ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::psm::EVInfo const, 63ul>(mozilla::psm::EVInfo const (&) [63ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SECOidTag, 63ul>(SECOidTag (&) [63ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 790ul>(unsigned char const (&) [790ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 1637ul>(unsigned char const (&) [1637ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 1895ul>(unsigned char const (&) [1895ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 930ul>(unsigned char const (&) [930ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [9], 8ul>(char const (&) [8ul][9]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<PropItems const, 15ul>(PropItems const (&) [15ul]) unsigned long mozilla::ArrayLength<char, 100ul>(char (&) [100ul]) Line | Count | Source | 58 | 31.5M | { | 59 | 31.5M | return N; | 60 | 31.5M | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 256ul>(unsigned int const (&) [256ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t, 100ul>(char16_t (&) [100ul]) unsigned long mozilla::ArrayLength<ManifestDirective const, 9ul>(ManifestDirective const (&) [9ul]) Line | Count | Source | 58 | 3.03k | { | 59 | 3.03k | return N; | 60 | 3.03k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel>, 2ul>(mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float const, 7ul>(float const (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsXPTInterfaceInfo const, 1114ul>(nsXPTInterfaceInfo const (&) [1114ul]) unsigned long mozilla::ArrayLength<char const*, 1ul>(char const* (&) [1ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsUConvProp const, 34ul>(nsUConvProp const (&) [34ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsUConvProp const, 187ul>(nsUConvProp const (&) [187ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<signed char const, 43ul>(signed char const (&) [43ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::unicode::MultiCharMapping const, 1ul>(mozilla::unicode::MultiCharMapping const (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::unicode::MultiCharMapping const, 102ul>(mozilla::unicode::MultiCharMapping const (&) [102ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::unicode::MultiCharMapping const, 48ul>(mozilla::unicode::MultiCharMapping const (&) [48ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 116ul>(char16_t const (&) [116ul]) unsigned long mozilla::ArrayLength<char16_t const*, 1ul>(char16_t const* (&) [1ul]) Line | Count | Source | 58 | 558k | { | 59 | 558k | return N; | 60 | 558k | } |
unsigned long mozilla::ArrayLength<char16_t const*, 2ul>(char16_t const* (&) [2ul]) Line | Count | Source | 58 | 76 | { | 59 | 76 | return N; | 60 | 76 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const*, 3ul>(char16_t const* (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 104ul>(char const (&) [104ul]) unsigned long mozilla::ArrayLength<mozilla::unicode::Script const, 8ul>(mozilla::unicode::Script const (&) [8ul]) Line | Count | Source | 58 | 23.7k | { | 59 | 23.7k | return N; | 60 | 23.7k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 8ul>(int (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<StatementSql, 22ul>(StatementSql (&) [22ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::net::nsHttpAtom const*, 24ul>(mozilla::net::nsHttpAtom const* (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 32ul>(char (&) [32ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 6ul>(unsigned char (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 18ul>(char (&) [18ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 33ul>(char (&) [33ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 3ul>(char const* const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<GSSFunction, 10ul>(GSSFunction (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::VRHMDSensorState const, 100ul>(mozilla::gfx::VRHMDSensorState const (&) [100ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::VRControllerState const, 16ul>(mozilla::gfx::VRControllerState const (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::VRHMDSensorState, 100ul>(mozilla::gfx::VRHMDSensorState (&) [100ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::VRControllerState, 16ul>(mozilla::gfx::VRControllerState (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float const, 16ul>(float const (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float, 16ul>(float (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float const, 64ul>(float const (&) [64ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float, 64ul>(float (&) [64ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<JS::SymbolCode, 3ul>(JS::SymbolCode (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 4ul>(unsigned char const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 9ul>(unsigned char const (&) [9ul]) Unexecuted instantiation: Unified_cpp_storage0.cpp:unsigned long mozilla::ArrayLength<mozilla::storage::(anonymous namespace)::Collations, 8ul>(mozilla::storage::(anonymous namespace)::Collations (&) [8ul]) Unexecuted instantiation: Unified_cpp_storage0.cpp:unsigned long mozilla::ArrayLength<mozilla::storage::(anonymous namespace)::Functions, 10ul>(mozilla::storage::(anonymous namespace)::Functions (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 2ul>(char const* (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 26ul>(char const* (&) [26ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SSLNamedGroup const, 5ul>(SSLNamedGroup const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsDefaultMimeTypeEntry const, 5ul>(nsDefaultMimeTypeEntry const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 6ul>(char const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsExtraMimeTypeEntry const, 48ul>(nsExtraMimeTypeEntry const (&) [48ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 5ul>(unsigned int (&) [5ul]) unsigned long mozilla::ArrayLength<mozilla::dom::workerinternals::JSSettings::JSGCSetting, 12ul>(mozilla::dom::workerinternals::JSSettings::JSGCSetting (&) [12ul]) Line | Count | Source | 58 | 39 | { | 59 | 39 | return N; | 60 | 39 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<float const, 4ul>(float const (&) [4ul]) unsigned long mozilla::ArrayLength<char const* const, 149ul>(char const* const (&) [149ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 149ul>(unsigned int const (&) [149ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 2ul>(char const* const (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<void*, 64ul>(void* (&) [64ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned long const, 6ul>(unsigned long const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 2ul>(unsigned int (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SurfaceMemoryReporterAttrs const, 24ul>(SurfaceMemoryReporterAttrs const (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 11ul>(char const (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MozLangGroupData const, 20ul>(MozLangGroupData const (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 5ul>(unsigned int const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<gfxFontUtils::MacFontNameCharsetMapping const, 27ul>(gfxFontUtils::MacFontNameCharsetMapping const (&) [27ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::Encoding const*, 3ul>(mozilla::Encoding const* (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::Encoding const*, 11ul>(mozilla::Encoding const* (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 40ul>(unsigned int const (&) [40ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 8ul>(unsigned int (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 32ul>(unsigned int (&) [32ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 7856ul>(unsigned int const (&) [7856ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned short const [2], 33ul>(unsigned short const (&) [33ul][2]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 29ul>(char const* (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsAtom*, 29ul>(nsAtom* (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 2ul>(char16_t const (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 4ul>(char16_t const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 5ul>(char const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::gfx::VRLayerState, 8ul>(mozilla::gfx::VRLayerState (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 6ul>(char const* (&) [6ul]) unsigned long mozilla::ArrayLength<EventNameMapping const, 204ul>(EventNameMapping const (&) [204ul]) Line | Count | Source | 58 | 618 | { | 59 | 618 | return N; | 60 | 618 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<EventNameMapping const, 5ul>(EventNameMapping const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t, 4ul>(char16_t (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 7ul>(char const (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<StateTableEntry const, 3ul>(StateTableEntry const (&) [3ul]) Unexecuted instantiation: nsGlobalWindowInner.cpp:unsigned long mozilla::ArrayLength<(anonymous namespace)::InterfaceShimEntry const, 16ul>((anonymous namespace)::InterfaceShimEntry const (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ResultStruct const, 114ul>(ResultStruct const (&) [114ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 12ul>(char const* (&) [12ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsAtom const*, 18ul>(nsAtom const* (&) [18ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 10ul>(char const* (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<BrowseCommand const, 10ul>(BrowseCommand const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<PhysicalBrowseCommand const, 8ul>(PhysicalBrowseCommand const (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SelectCommand const, 6ul>(SelectCommand const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<PhysicalSelectCommand const, 8ul>(PhysicalSelectCommand const (&) [8ul]) Unexecuted instantiation: Unified_cpp_dom_base8.cpp:unsigned long mozilla::ArrayLength<(anonymous namespace)::interval const, 92ul>((anonymous namespace)::interval const (&) [92ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 107ul>(nsStaticAtom const* const (&) [107ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 105ul>(nsStaticAtom const* const (&) [105ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 16ul>(nsStaticAtom const* const (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 74ul>(nsStaticAtom const* const (&) [74ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 180ul>(nsStaticAtom const* const (&) [180ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 196ul>(nsStaticAtom const* const (&) [196ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom const* const, 115ul>(nsStaticAtom const* const (&) [115ul]) unsigned long mozilla::ArrayLength<mozilla::dom::SystemProperty, 65ul>(mozilla::dom::SystemProperty (&) [65ul]) Line | Count | Source | 58 | 198 | { | 59 | 198 | return N; | 60 | 198 | } |
unsigned long mozilla::ArrayLength<char16_t const, 1ul>(char16_t const (&) [1ul]) Line | Count | Source | 58 | 11.5k | { | 59 | 11.5k | return N; | 60 | 11.5k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 5ul>(char16_t const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 7ul>(char16_t const (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 21ul>(char16_t const (&) [21ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 8ul>(char16_t const (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 3ul>(char const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 6ul>(char16_t const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 1ul>(char const (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 11ul>(char16_t const (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 1ul>(char const* const (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<CK_ATTRIBUTE, 9ul>(CK_ATTRIBUTE (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<CK_ATTRIBUTE, 14ul>(CK_ATTRIBUTE (&) [14ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsUConvProp const, 12ul>(nsUConvProp const (&) [12ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::EncodingProp const, 32ul>(mozilla::dom::EncodingProp const (&) [32ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::EncodingProp const, 81ul>(mozilla::dom::EncodingProp const (&) [81ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 8ul>(char const* (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 21ul>(char const* (&) [21ul]) Unexecuted instantiation: Unified_cpp_dom_events0.cpp:unsigned long mozilla::ArrayLength<(anonymous namespace)::FileMimeNameData, 2ul>((anonymous namespace)::FileMimeNameData (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::ModifierPair const, 13ul>(mozilla::dom::ModifierPair const (&) [13ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsAttrValue::EnumTable const, 23ul>(nsAttrValue::EnumTable const (&) [23ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::TextTrackKind, 2ul>(mozilla::dom::TextTrackKind (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::TextTrackKind, 1ul>(mozilla::dom::TextTrackKind (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 14ul>(char const* const (&) [14ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [7], 3ul>(char const (&) [3ul][7]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [23], 19ul>(char const (&) [19ul][23]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [4], 2ul>(char const (&) [2ul][4]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int const, 5ul>(int const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::FieldPatternType const, 9ul>(mozilla::FieldPatternType const (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::TrackInfo::TrackType, 2ul>(mozilla::TrackInfo::TrackType (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 7ul>(unsigned char const (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 9ul>(char const* (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 2ul>(int (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 4ul>(unsigned int const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::VoiceDetails const, 10ul>(mozilla::dom::VoiceDetails const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSpeechDispatcherDynamicFunction const, 10ul>(nsSpeechDispatcherDynamicFunction const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::StringInfo, 3ul>(nsSVGElement::StringInfo (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthInfo, 3ul>(nsSVGElement::LengthInfo (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::EnumInfo, 1ul>(nsSVGElement::EnumInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthInfo, 4ul>(nsSVGElement::LengthInfo (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::StringInfo, 2ul>(nsSVGElement::StringInfo (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberListInfo, 1ul>(nsSVGElement::NumberListInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 4ul>(nsSVGElement::NumberInfo (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 2ul>(nsSVGElement::NumberInfo (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberPairInfo, 1ul>(nsSVGElement::NumberPairInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::IntegerInfo, 2ul>(nsSVGElement::IntegerInfo (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::IntegerPairInfo, 1ul>(nsSVGElement::IntegerPairInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::BooleanInfo, 1ul>(nsSVGElement::BooleanInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 1ul>(nsSVGElement::NumberInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::EnumInfo, 2ul>(nsSVGElement::EnumInfo (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::StringInfo, 1ul>(nsSVGElement::StringInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 3ul>(nsSVGElement::NumberInfo (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 8ul>(nsSVGElement::NumberInfo (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::IntegerInfo, 1ul>(nsSVGElement::IntegerInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthInfo, 6ul>(nsSVGElement::LengthInfo (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom** const, 11ul>(nsStaticAtom** const (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::AngleInfo, 1ul>(nsSVGElement::AngleInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t, 24ul>(char16_t (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t, 50ul>(char16_t (&) [50ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthInfo, 1ul>(nsSVGElement::LengthInfo (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom**, 3ul>(nsStaticAtom** (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthInfo, 2ul>(nsSVGElement::LengthInfo (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::EnumInfo, 4ul>(nsSVGElement::EnumInfo (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::LengthListInfo, 4ul>(nsSVGElement::LengthListInfo (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float, 2ul>(float (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float, 3ul>(float (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<float, 6ul>(float (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom** const, 5ul>(nsStaticAtom** const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsSVGElement::NumberInfo, 5ul>(nsSVGElement::NumberInfo (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 4ul>(char const* (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 19ul>(char const* (&) [19ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<keyCodeData const, 187ul>(keyCodeData const (&) [187ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<txCoreFunctionDescriptor const, 27ul>(txCoreFunctionDescriptor const (&) [27ul]) unsigned long mozilla::ArrayLength<txElementHandler const, 2ul>(txElementHandler const (&) [2ul]) Line | Count | Source | 58 | 9 | { | 59 | 9 | return N; | 60 | 9 | } |
unsigned long mozilla::ArrayLength<txElementHandler const, 11ul>(txElementHandler const (&) [11ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
unsigned long mozilla::ArrayLength<txElementHandler const, 18ul>(txElementHandler const (&) [18ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
unsigned long mozilla::ArrayLength<txElementHandler const, 1ul>(txElementHandler const (&) [1ul]) Line | Count | Source | 58 | 18 | { | 59 | 18 | return N; | 60 | 18 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<CharRange const, 290ul>(CharRange const (&) [290ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 5ul>(char const* (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::EnumEntry const, 2ul>(mozilla::dom::EnumEntry const (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::dom::EnumEntry const, 4ul>(mozilla::dom::EnumEntry const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 7ul>(char const* (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<bool, 3ul>(bool (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const* const, 328ul>(char16_t const* const (&) [328ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const* const, 175ul>(char16_t const* const (&) [175ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 44ul>(char const* const (&) [44ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsLookAndFeelIntPref, 39ul>(nsLookAndFeelIntPref (&) [39ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsLookAndFeelFloatPref, 3ul>(nsLookAndFeelFloatPref (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [41], 103ul>(char const (&) [103ul][41]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const [8], 9ul>(char16_t const (&) [9ul][8]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<_GtkWidget*, 2ul>(_GtkWidget* (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::Command const [2], 8ul>(mozilla::Command const (&) [8ul][2]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::Command const [2][2], 10ul>(mozilla::Command const (&) [10ul][2][2]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 5ul>(char const* const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::widget::KeymapWrapper::Modifier, 5ul>(mozilla::widget::KeymapWrapper::Modifier (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [14], 6ul>(char const (&) [6ul][14]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<_GtkWidget*, 3ul>(_GtkWidget* (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [4], 6ul>(char const (&) [6ul][4]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [22], 7ul>(char const (&) [7ul][22]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<short const, 4ul>(short const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::ScrollCommand const, 3ul>(mozilla::ScrollCommand const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::MoveCommand const, 6ul>(mozilla::MoveCommand const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::PhysicalCommand const, 8ul>(mozilla::PhysicalCommand const (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsHTMLTag const, 7ul>(nsHTMLTag const (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 19ul>(char const (&) [19ul]) unsigned long mozilla::ArrayLength<char const* const, 378ul>(char const* const (&) [378ul]) Line | Count | Source | 58 | 1.13k | { | 59 | 1.13k | return N; | 60 | 1.13k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSKTableEntry const, 6ul>(nsCSSKTableEntry const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSKTableEntry const, 5ul>(nsCSSKTableEntry const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ComputedStyleMap::Entry const, 318ul>(ComputedStyleMap::Entry const (&) [318ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int nsCSSShadowItem::* const, 4ul>(int nsCSSShadowItem::* const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int nsCSSShadowItem::* const, 3ul>(int nsCSSShadowItem::* const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsTObserverArray<nsARefreshObserver*>, 4ul>(nsTObserverArray<nsARefreshObserver*> (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned long, 12ul>(unsigned long (&) [12ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsFont*, 7ul>(nsFont* (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByTag const, 20ul>(nsCSSFrameConstructor::FrameConstructionDataByTag const (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByInt const, 21ul>(nsCSSFrameConstructor::FrameConstructionDataByInt const (&) [21ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByInt const, 5ul>(nsCSSFrameConstructor::FrameConstructionDataByInt const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByTag const, 28ul>(nsCSSFrameConstructor::FrameConstructionDataByTag const (&) [28ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByTag const, 29ul>(nsCSSFrameConstructor::FrameConstructionDataByTag const (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByTag const, 51ul>(nsCSSFrameConstructor::FrameConstructionDataByTag const (&) [51ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::layout::FrameChildListID, 2ul>(mozilla::layout::FrameChildListID (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsPresArena::FreeList const, 180ul>(nsPresArena::FreeList const (&) [180ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsCSSFrameConstructor::FrameConstructionDataByDisplay const, 30ul>(nsCSSFrameConstructor::FrameConstructionDataByDisplay const (&) [30ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 20ul>(MathVarMapping const (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 15ul>(MathVarMapping const (&) [15ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 23ul>(MathVarMapping const (&) [23ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 27ul>(MathVarMapping const (&) [27ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 25ul>(MathVarMapping const (&) [25ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MathVarMapping const, 24ul>(MathVarMapping const (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsDisplayList*, 2ul>(nsDisplayList* (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<RefPtr<mozilla::dom::Selection>, 10ul>(RefPtr<mozilla::dom::Selection> (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<RefPtr<mozilla::dom::Selection> const, 10ul>(RefPtr<mozilla::dom::Selection> const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsTextPaintStyle::nsSelectionStyle, 5ul>(nsTextPaintStyle::nsSelectionStyle (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::SelectionType const, 10ul>(mozilla::SelectionType const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ChildListInsertions, 2ul>(ChildListInsertions (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<bool, 4ul>(bool (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<double, 8ul>(double (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 6ul>(unsigned int const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<RedirEntry const, 24ul>(RedirEntry const (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<short const, 4368ul>(short const (&) [4368ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<_GInterfaceInfo const, 11ul>(_GInterfaceInfo const (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 28ul>(char const* (&) [28ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsRoleMapEntry const, 114ul>(nsRoleMapEntry const (&) [114ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<AttrCharacteristics const, 37ul>(AttrCharacteristics const (&) [37ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ModuleRep, 15ul>(ModuleRep (&) [15ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::a11y::TextAttrsMgr::TextAttr*, 11ul>(mozilla::a11y::TextAttrsMgr::TextAttr* (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::a11y::HTMLMarkupMapInfo const, 79ul>(mozilla::a11y::HTMLMarkupMapInfo const (&) [79ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::a11y::XULMarkupMapInfo const, 43ul>(mozilla::a11y::XULMarkupMapInfo const (&) [43ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const [40], 89ul>(char const (&) [89ul][40]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozilla::a11y::MarkupAttrInfo const, 4ul>(mozilla::a11y::MarkupAttrInfo const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 15ul>(char const* const (&) [15ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsStaticAtom**, 9ul>(nsStaticAtom** (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 20ul>(unsigned int const (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<JS::ProfilingFrameIterator::Frame, 1024ul>(JS::ProfilingFrameIterator::Frame (&) [1024ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 512ul>(char (&) [512ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned long, 64ul>(unsigned long (&) [64ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<TransportSecurityPreload const, 487ul>(TransportSecurityPreload const (&) [487ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<CertAuthorityHash const, 198ul>(CertAuthorityHash const (&) [198ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 256ul>(unsigned char (&) [256ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 255ul>(unsigned char (&) [255ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SSLNamedGroup const, 6ul>(SSLNamedGroup const (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<SSLSignatureScheme const, 11ul>(SSLSignatureScheme const (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsMediaSnifferEntry, 4ul>(nsMediaSnifferEntry (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsMediaSnifferEntry, 9ul>(nsMediaSnifferEntry (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned long, 10ul>(unsigned long (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozIStorageBaseStatement*, 4ul>(mozIStorageBaseStatement* (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozIStorageBaseStatement*, 3ul>(mozIStorageBaseStatement* (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozIStorageBaseStatement*, 2ul>(mozIStorageBaseStatement* (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 222ul>(char const* const (&) [222ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 16ul>(char const* const (&) [16ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 31ul>(char const* const (&) [31ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<Provider const, 3ul>(Provider const (&) [3ul]) Unexecuted instantiation: Unified_cpp_url-classifier0.cpp:unsigned long mozilla::ArrayLength<$_6 const, 11ul>($_6 const (&) [11ul]) Unexecuted instantiation: nsTerminator.cpp:unsigned long mozilla::ArrayLength<mozilla::(anonymous namespace)::ShutdownStep, 5ul>(mozilla::(anonymous namespace)::ShutdownStep (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 8ul>(char const* const (&) [8ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 128ul>(unsigned char (&) [128ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 20ul>(unsigned char (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ProtocolAssociation const, 4ul>(ProtocolAssociation const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<MimeTypeAssociation const, 2ul>(MimeTypeAssociation const (&) [2ul]) Unexecuted instantiation: CTPolicyEnforcerTest.cpp:unsigned long mozilla::ArrayLength<mozilla::ct::CTPolicyEnforcerTest_ConformsToPolicyExactNumberOfSCTsForValidityPeriod_Test::TestBody()::TestData const, 7ul>(mozilla::ct::CTPolicyEnforcerTest_ConformsToPolicyExactNumberOfSCTsForValidityPeriod_Test::TestBody()::TestData const (&) [7ul]) Unexecuted instantiation: CTPolicyEnforcerTest.cpp:unsigned long mozilla::ArrayLength<mozilla::ct::CTPolicyEnforcerTest_TestEdgeCasesOfGetCertLifetimeInFullMonths_Test::TestBody()::TestData const, 5ul>(mozilla::ct::CTPolicyEnforcerTest_TestEdgeCasesOfGetCertLifetimeInFullMonths_Test::TestBody()::TestData const (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<Params const, 4ul>(Params const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<UTFStringsStringPair const, 10ul>(UTFStringsStringPair const (&) [10ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<UTFStringsStringPair const, 9ul>(UTFStringsStringPair const (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<UTFStringsStringPair const, 19ul>(UTFStringsStringPair const (&) [19ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 11ul>(char const* (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 3ul>(int (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 4ul>(int (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 5ul>(int (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 6ul>(int (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 7ul>(int (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int const, 4ul>(int const (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 9ul>(int (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<long, 9ul>(long (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 9ul>(char (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 9ul>(unsigned int (&) [9ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 12ul>(char const (&) [12ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsTString<char>, 11ul>(nsTString<char> (&) [11ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 3ul>(char const* (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<bool, 8ul>(bool (&) [8ul]) Unexecuted instantiation: Unified_cpp_locale_tests_gtest0.cpp:unsigned long mozilla::ArrayLength<Intl_Locale_OSPreferences_GetDateTimePattern_Test::TestBody()::Test, 13ul>(Intl_Locale_OSPreferences_GetDateTimePattern_Test::TestBody()::Test (&) [13ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 24ul>(char const* (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 200ul>(char (&) [200ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<mozIStorageBaseStatement*, 1ul>(mozIStorageBaseStatement* (&) [1ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const, 30ul>(char const (&) [30ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<double, 6ul>(double (&) [6ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned short, 128ul>(unsigned short (&) [128ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned short, 256ul>(unsigned short (&) [256ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int, 30ul>(unsigned int (&) [30ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<int, 27ul>(int (&) [27ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<bool, 29ul>(bool (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<TestFileData const, 3ul>(TestFileData const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<InitParam, 7ul>(InitParam (&) [7ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<InitParam, 4ul>(InitParam (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 4ul>(unsigned char (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 60ul>(char const* const (&) [60ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 94ul>(char const* const (&) [94ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<TestFileData const, 29ul>(TestFileData const (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<Test, 18ul>(Test (&) [18ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsTString<char>, 5ul>(nsTString<char> (&) [5ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<nsTString<char>, 2ul>(nsTString<char> (&) [2ul]) Unexecuted instantiation: Unified_cpp_tests_gtest0.cpp:unsigned long mozilla::ArrayLength<(anonymous namespace)::ExpectedMatch const, 3ul>((anonymous namespace)::ExpectedMatch const (&) [3ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<JS::TraceKind const, 29ul>(JS::TraceKind const (&) [29ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<bool const, 29ul>(bool const (&) [29ul]) unsigned long mozilla::ArrayLength<js::NewObjectCache::Entry, 41ul>(js::NewObjectCache::Entry (&) [41ul]) Line | Count | Source | 58 | 4.91M | { | 59 | 4.91M | return N; | 60 | 4.91M | } |
unsigned long mozilla::ArrayLength<js::Class const, 12ul>(js::Class const (&) [12ul]) Line | Count | Source | 58 | 80 | { | 59 | 80 | return N; | 60 | 80 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::jit::Register const, 2ul>(js::jit::Register const (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::jit::MBasicBlock*, 2ul>(js::jit::MBasicBlock* (&) [2ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<ParamInfo const, 22ul>(ParamInfo const (&) [22ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::Class const*, 3ul>(js::Class const* (&) [3ul]) unsigned long mozilla::ArrayLength<js::TypeSet::Type, 8ul>(js::TypeSet::Type (&) [8ul]) Line | Count | Source | 58 | 1.00k | { | 59 | 1.00k | return N; | 60 | 1.00k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 20ul>(char (&) [20ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const* const, 32ul>(char const* const (&) [32ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 24ul>(unsigned char (&) [24ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char, 4096ul>(char (&) [4096ul]) unsigned long mozilla::ArrayLength<CommonNameInfo const, 519ul>(CommonNameInfo const (&) [519ul]) Line | Count | Source | 58 | 1.56k | { | 59 | 1.56k | return N; | 60 | 1.56k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t, 10ul>(char16_t (&) [10ul]) unsigned long mozilla::ArrayLength<js::ProtectedDataNoCheckArgs<js::CheckThreadLocal, unsigned long>, 3ul>(js::ProtectedDataNoCheckArgs<js::CheckThreadLocal, unsigned long> (&) [3ul]) Line | Count | Source | 58 | 108 | { | 59 | 108 | return N; | 60 | 108 | } |
unsigned long mozilla::ArrayLength<js::GCPtr<JS::Value>, 2ul>(js::GCPtr<JS::Value> (&) [2ul]) Line | Count | Source | 58 | 2.70k | { | 59 | 2.70k | return N; | 60 | 2.70k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::RegExpShared::RegExpCompilation, 4ul>(js::RegExpShared::RegExpCompilation (&) [4ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char const*, 64ul>(char const* (&) [64ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<char16_t const, 36ul>(char16_t const (&) [36ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 34ul>(unsigned char const (&) [34ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char const, 2ul>(unsigned char const (&) [2ul]) unsigned long mozilla::ArrayLength<unsigned long const, 3ul>(unsigned long const (&) [3ul]) Line | Count | Source | 58 | 4 | { | 59 | 4 | return N; | 60 | 4 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::jit::MIRType const, 4ul>(js::jit::MIRType const (&) [4ul]) unsigned long mozilla::ArrayLength<js::gc::FinalizePhase const, 6ul>(js::gc::FinalizePhase const (&) [6ul]) Line | Count | Source | 58 | 126 | { | 59 | 126 | return N; | 60 | 126 | } |
unsigned long mozilla::ArrayLength<mozilla::UniquePtr<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&, JS::Zone*>, JS::DeletePolicy<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&, JS::Zone*> > >, 5ul>(mozilla::UniquePtr<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&, JS::Zone*>, JS::DeletePolicy<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&, JS::Zone*> > > (&) [5ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
unsigned long mozilla::ArrayLength<mozilla::UniquePtr<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&>, JS::DeletePolicy<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&> > >, 6ul>(mozilla::UniquePtr<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&>, JS::DeletePolicy<js::gc::SweepAction<js::gc::GCRuntime*, js::FreeOp*, js::SliceBudget&> > > (&) [6ul]) Line | Count | Source | 58 | 3 | { | 59 | 3 | return N; | 60 | 3 | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<js::gc::AllocKind const, 17ul>(js::gc::AllocKind const (&) [17ul]) Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned int const, 29ul>(unsigned int const (&) [29ul]) |
61 | | |
62 | | template<typename T, size_t N> |
63 | | constexpr size_t |
64 | | ArrayLength(const Array<T, N>& aArr) |
65 | 7.39k | { |
66 | 7.39k | return N; |
67 | 7.39k | } Unexecuted instantiation: unsigned long mozilla::ArrayLength<JS::Heap<JSObject*>, 1624ul>(mozilla::Array<JS::Heap<JSObject*>, 1624ul> const&) unsigned long mozilla::ArrayLength<mozilla::Array<JS::Heap<JSObject*>, 16ul>*, 102ul>(mozilla::Array<mozilla::Array<JS::Heap<JSObject*>, 16ul>*, 102ul> const&) Line | Count | Source | 65 | 5.56k | { | 66 | 5.56k | return N; | 67 | 5.56k | } |
unsigned long mozilla::ArrayLength<JS::Heap<JSObject*>, 16ul>(mozilla::Array<JS::Heap<JSObject*>, 16ul> const&) Line | Count | Source | 65 | 1.83k | { | 66 | 1.83k | return N; | 67 | 1.83k | } |
Unexecuted instantiation: unsigned long mozilla::ArrayLength<unsigned char, 7ul>(mozilla::Array<unsigned char, 7ul> const&) |
68 | | |
69 | | template<typename E, E N, typename T> |
70 | | constexpr size_t |
71 | | ArrayLength(const EnumeratedArray<E, N, T>& aArr) |
72 | | { |
73 | | return size_t(N); |
74 | | } |
75 | | |
76 | | /* |
77 | | * Compute the address one past the last element of a constant-length array. |
78 | | * |
79 | | * Beware of the implicit trailing '\0' when using this with string constants. |
80 | | */ |
81 | | template<typename T, size_t N> |
82 | | constexpr T* |
83 | | ArrayEnd(T (&aArr)[N]) |
84 | 3.03k | { |
85 | 3.03k | return aArr + ArrayLength(aArr); |
86 | 3.03k | } Unexecuted instantiation: unsigned char* mozilla::ArrayEnd<unsigned char, 16384ul>(unsigned char (&) [16384ul]) ManifestDirective const* mozilla::ArrayEnd<ManifestDirective const, 9ul>(ManifestDirective const (&) [9ul]) Line | Count | Source | 84 | 3.03k | { | 85 | 3.03k | return aArr + ArrayLength(aArr); | 86 | 3.03k | } |
Unexecuted instantiation: CharRange const* mozilla::ArrayEnd<CharRange const, 290ul>(CharRange const (&) [290ul]) Unexecuted instantiation: nsPresArena::FreeList const* mozilla::ArrayEnd<nsPresArena::FreeList const, 180ul>(nsPresArena::FreeList const (&) [180ul]) Unexecuted instantiation: char const* const* mozilla::ArrayEnd<char const* const, 15ul>(char const* const (&) [15ul]) Unexecuted instantiation: char16_t* mozilla::ArrayEnd<char16_t, 10ul>(char16_t (&) [10ul]) |
87 | | |
88 | | template<typename T, size_t N> |
89 | | constexpr T* |
90 | | ArrayEnd(Array<T, N>& aArr) |
91 | | { |
92 | | return &aArr[0] + ArrayLength(aArr); |
93 | | } |
94 | | |
95 | | template<typename T, size_t N> |
96 | | constexpr const T* |
97 | | ArrayEnd(const Array<T, N>& aArr) |
98 | | { |
99 | | return &aArr[0] + ArrayLength(aArr); |
100 | | } |
101 | | |
102 | | /** |
103 | | * std::equal has subpar ergonomics. |
104 | | */ |
105 | | |
106 | | template<typename T, typename U, size_t N> |
107 | | bool |
108 | | ArrayEqual(const T (&a)[N], const U (&b)[N]) |
109 | 0 | { |
110 | 0 | return std::equal(a, a + N, b); |
111 | 0 | } Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, unsigned char, 32ul>(unsigned char const (&) [32ul], unsigned char const (&) [32ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<float, float, 20ul>(float const (&) [20ul], float const (&) [20ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned long, unsigned long, 6ul>(unsigned long const (&) [6ul], unsigned long const (&) [6ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, unsigned char, 20ul>(unsigned char const (&) [20ul], unsigned char const (&) [20ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, unsigned char, 15ul>(unsigned char const (&) [15ul], unsigned char const (&) [15ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, unsigned char, 5ul>(unsigned char const (&) [5ul], unsigned char const (&) [5ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned short, unsigned short, 5ul>(unsigned short const (&) [5ul], unsigned short const (&) [5ul]) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, unsigned char, 16ul>(unsigned char const (&) [16ul], unsigned char const (&) [16ul]) |
112 | | |
113 | | template<typename T, typename U> |
114 | | bool |
115 | | ArrayEqual(const T* const a, const U* const b, const size_t n) |
116 | 1.66M | { |
117 | 1.66M | return std::equal(a, a + n, b); |
118 | 1.66M | } bool mozilla::ArrayEqual<unsigned char, unsigned char>(unsigned char const*, unsigned char const*, unsigned long) Line | Count | Source | 116 | 1.62M | { | 117 | 1.62M | return std::equal(a, a + n, b); | 118 | 1.62M | } |
Unexecuted instantiation: bool mozilla::ArrayEqual<float, float>(float const*, float const*, unsigned long) Unexecuted instantiation: bool mozilla::ArrayEqual<char, char>(char const*, char const*, unsigned long) Unexecuted instantiation: bool mozilla::ArrayEqual<unsigned char, char>(unsigned char const*, char const*, unsigned long) Unexecuted instantiation: bool mozilla::ArrayEqual<char16_t, char>(char16_t const*, char const*, unsigned long) bool mozilla::ArrayEqual<unsigned char, char16_t>(unsigned char const*, char16_t const*, unsigned long) Line | Count | Source | 116 | 36.0k | { | 117 | 36.0k | return std::equal(a, a + n, b); | 118 | 36.0k | } |
bool mozilla::ArrayEqual<char16_t, char16_t>(char16_t const*, char16_t const*, unsigned long) Line | Count | Source | 116 | 1 | { | 117 | 1 | return std::equal(a, a + n, b); | 118 | 1 | } |
Unexecuted instantiation: bool mozilla::ArrayEqual<js::ReceiverGuard, js::ReceiverGuard>(js::ReceiverGuard const*, js::ReceiverGuard const*, unsigned long) Unexecuted instantiation: bool mozilla::ArrayEqual<char16_t, unsigned char>(char16_t const*, unsigned char const*, unsigned long) |
119 | | |
120 | | namespace detail { |
121 | | |
122 | | template<typename AlignType, typename Pointee, |
123 | | typename = EnableIf<!IsVoid<AlignType>::value>> |
124 | | struct AlignedChecker |
125 | | { |
126 | | static void |
127 | | test(const Pointee* aPtr) |
128 | | { |
129 | | MOZ_ASSERT((uintptr_t(aPtr) % MOZ_ALIGNOF(AlignType)) == 0, |
130 | | "performing a range-check with a misaligned pointer"); |
131 | | } |
132 | | }; |
133 | | |
134 | | template<typename AlignType, typename Pointee> |
135 | | struct AlignedChecker<AlignType, Pointee> |
136 | | { |
137 | | static void |
138 | | test(const Pointee* aPtr) |
139 | 0 | { |
140 | 0 | } |
141 | | }; |
142 | | |
143 | | } // namespace detail |
144 | | |
145 | | /** |
146 | | * Determines whether |aPtr| points at an object in the range [aBegin, aEnd). |
147 | | * |
148 | | * |aPtr| must have the same alignment as |aBegin| and |aEnd|. This usually |
149 | | * should be achieved by ensuring |aPtr| points at a |U|, not just that it |
150 | | * points at a |T|. |
151 | | * |
152 | | * It is a usage error for any argument to be misaligned. |
153 | | * |
154 | | * It's okay for T* to be void*, and if so U* may also be void*. In the latter |
155 | | * case no argument is required to be aligned (obviously, as void* implies no |
156 | | * particular alignment). |
157 | | */ |
158 | | template<typename T, typename U> |
159 | | inline typename EnableIf<IsSame<T, U>::value || |
160 | | IsBaseOf<T, U>::value || |
161 | | IsVoid<T>::value, |
162 | | bool>::Type |
163 | | IsInRange(const T* aPtr, const U* aBegin, const U* aEnd) |
164 | 0 | { |
165 | 0 | MOZ_ASSERT(aBegin <= aEnd); |
166 | 0 | detail::AlignedChecker<U, T>::test(aPtr); |
167 | 0 | detail::AlignedChecker<U, U>::test(aBegin); |
168 | 0 | detail::AlignedChecker<U, U>::test(aEnd); |
169 | 0 | return aBegin <= reinterpret_cast<const U*>(aPtr) && |
170 | 0 | reinterpret_cast<const U*>(aPtr) < aEnd; |
171 | 0 | } |
172 | | |
173 | | /** |
174 | | * Convenience version of the above method when the valid range is specified as |
175 | | * uintptr_t values. As above, |aPtr| must be aligned, and |aBegin| and |aEnd| |
176 | | * must be aligned with respect to |T|. |
177 | | */ |
178 | | template<typename T> |
179 | | inline bool |
180 | | IsInRange(const T* aPtr, uintptr_t aBegin, uintptr_t aEnd) |
181 | | { |
182 | | return IsInRange(aPtr, |
183 | | reinterpret_cast<const T*>(aBegin), |
184 | | reinterpret_cast<const T*>(aEnd)); |
185 | | } |
186 | | |
187 | | namespace detail { |
188 | | |
189 | | /* |
190 | | * Helper for the MOZ_ARRAY_LENGTH() macro to make the length a typesafe |
191 | | * compile-time constant even on compilers lacking constexpr support. |
192 | | */ |
193 | | template <typename T, size_t N> |
194 | | char (&ArrayLengthHelper(T (&array)[N]))[N]; |
195 | | |
196 | | } /* namespace detail */ |
197 | | |
198 | | } /* namespace mozilla */ |
199 | | |
200 | | #endif /* __cplusplus */ |
201 | | |
202 | | /* |
203 | | * MOZ_ARRAY_LENGTH() is an alternative to mozilla::ArrayLength() for C files |
204 | | * that can't use C++ template functions and for static_assert() calls that |
205 | | * can't call ArrayLength() when it is not a C++11 constexpr function. |
206 | | */ |
207 | | #ifdef __cplusplus |
208 | 0 | # define MOZ_ARRAY_LENGTH(array) sizeof(mozilla::detail::ArrayLengthHelper(array)) |
209 | | #else |
210 | | # define MOZ_ARRAY_LENGTH(array) (sizeof(array)/sizeof((array)[0])) |
211 | | #endif |
212 | | |
213 | | #endif /* mozilla_ArrayUtils_h */ |