Coverage Report

Created: 2025-08-28 06:26

/src/serenity/AK/GenericShorthands.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2022, Frhun <serenitystuff@frhun.de>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/Platform.h>
10
11
namespace AK {
12
13
template<typename T, typename... Ts>
14
[[nodiscard]] constexpr bool first_is_one_of(T const to_compare, Ts const... valid_values)
15
0
{
16
0
    return (... || (to_compare == valid_values));
17
0
}
Unexecuted instantiation: bool AK::first_is_one_of<Web::CSS::CSSStyleValue::Type, Web::CSS::CSSStyleValue::Type, Web::CSS::CSSStyleValue::Type, Web::CSS::CSSStyleValue::Type, Web::CSS::CSSStyleValue::Type>(Web::CSS::CSSStyleValue::Type, Web::CSS::CSSStyleValue::Type const, Web::CSS::CSSStyleValue::Type const, Web::CSS::CSSStyleValue::Type const, Web::CSS::CSSStyleValue::Type const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::DOM::NodeType, Web::DOM::NodeType, Web::DOM::NodeType, Web::DOM::NodeType, Web::DOM::NodeType>(Web::DOM::NodeType, Web::DOM::NodeType const, Web::DOM::NodeType const, Web::DOM::NodeType const, Web::DOM::NodeType const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::CSS::CalculationNode::Type, Web::CSS::CalculationNode::Type, Web::CSS::CalculationNode::Type, Web::CSS::CalculationNode::Type, Web::CSS::CalculationNode::Type>(Web::CSS::CalculationNode::Type, Web::CSS::CalculationNode::Type const, Web::CSS::CalculationNode::Type const, Web::CSS::CalculationNode::Type const, Web::CSS::CalculationNode::Type const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::CSS::Selector::Combinator, Web::CSS::Selector::Combinator, Web::CSS::Selector::Combinator>(Web::CSS::Selector::Combinator, Web::CSS::Selector::Combinator const, Web::CSS::Selector::Combinator const)
Unexecuted instantiation: bool AK::first_is_one_of<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>(unsigned int, unsigned int const, unsigned int const, unsigned int const, unsigned int const)
Unexecuted instantiation: bool AK::first_is_one_of<char, char, char>(char, char const, char const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::CSS::Selector::PseudoElement::Type, Web::CSS::Selector::PseudoElement::Type, Web::CSS::Selector::PseudoElement::Type>(Web::CSS::Selector::PseudoElement::Type, Web::CSS::Selector::PseudoElement::Type const, Web::CSS::Selector::PseudoElement::Type const)
Unexecuted instantiation: bool AK::first_is_one_of<AK::Optional<Web::CSS::Keyword>, Web::CSS::Keyword, Web::CSS::Keyword>(AK::Optional<Web::CSS::Keyword>, Web::CSS::Keyword const, Web::CSS::Keyword const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::CSS::PropertyID, Web::CSS::PropertyID, Web::CSS::PropertyID, Web::CSS::PropertyID>(Web::CSS::PropertyID, Web::CSS::PropertyID const, Web::CSS::PropertyID const, Web::CSS::PropertyID const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role, Web::ARIA::Role>(Web::ARIA::Role, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const, Web::ARIA::Role const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState>(Web::HTML::HTMLInputElement::TypeAttributeState, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const, Web::HTML::HTMLInputElement::TypeAttributeState const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::DOM::NodeType, Web::DOM::NodeType, Web::DOM::NodeType>(Web::DOM::NodeType, Web::DOM::NodeType const, Web::DOM::NodeType const)
Unexecuted instantiation: bool AK::first_is_one_of<Unicode::BidiClass, Unicode::BidiClass, Unicode::BidiClass, Unicode::BidiClass>(Unicode::BidiClass, Unicode::BidiClass const, Unicode::BidiClass const, Unicode::BidiClass const)
Unexecuted instantiation: bool AK::first_is_one_of<Unicode::BidiClass, Unicode::BidiClass, Unicode::BidiClass>(Unicode::BidiClass, Unicode::BidiClass const, Unicode::BidiClass const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::DOM::CustomElementState, Web::DOM::CustomElementState, Web::DOM::CustomElementState>(Web::DOM::CustomElementState, Web::DOM::CustomElementState const, Web::DOM::CustomElementState const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::HTML::HTMLInputElement::ValueAttributeMode, Web::HTML::HTMLInputElement::ValueAttributeMode, Web::HTML::HTMLInputElement::ValueAttributeMode>(Web::HTML::HTMLInputElement::ValueAttributeMode, Web::HTML::HTMLInputElement::ValueAttributeMode const, Web::HTML::HTMLInputElement::ValueAttributeMode const)
Unexecuted instantiation: bool AK::first_is_one_of<char, char, char, char, char>(char, char const, char const, char const, char const)
Unexecuted instantiation: bool AK::first_is_one_of<Web::Painting::PaintPhase, Web::Painting::PaintPhase, Web::Painting::PaintPhase, Web::Painting::PaintPhase, Web::Painting::PaintPhase, Web::Painting::PaintPhase>(Web::Painting::PaintPhase, Web::Painting::PaintPhase const, Web::Painting::PaintPhase const, Web::Painting::PaintPhase const, Web::Painting::PaintPhase const, Web::Painting::PaintPhase const)
Unexecuted instantiation: bool AK::first_is_one_of<char, char, char, char, char, char>(char, char const, char const, char const, char const, char const)
18
19
template<typename T, typename... Ts>
20
[[nodiscard]] constexpr bool first_is_smaller_than_one_of(T const to_compare, Ts const... valid_values)
21
{
22
    return (... || (to_compare < valid_values));
23
}
24
25
template<typename T, typename... Ts>
26
[[nodiscard]] constexpr bool first_is_smaller_or_equal_than_one_of(T const to_compare, Ts const... valid_values)
27
{
28
    return (... || (to_compare <= valid_values));
29
}
30
31
template<typename T, typename... Ts>
32
[[nodiscard]] constexpr bool first_is_larger_than_one_of(T const to_compare, Ts const... valid_values)
33
{
34
    return (... || (to_compare > valid_values));
35
}
36
37
template<typename T, typename... Ts>
38
[[nodiscard]] constexpr bool first_is_larger_or_equal_than_one_of(T const to_compare, Ts const... valid_values)
39
{
40
    return (... || (to_compare >= valid_values));
41
}
42
43
template<typename T, typename... Ts>
44
[[nodiscard]] constexpr bool first_is_smaller_than_all_of(T const to_compare, Ts const... valid_values)
45
{
46
    return (... && (to_compare < valid_values));
47
}
48
49
template<typename T, typename... Ts>
50
[[nodiscard]] constexpr bool first_is_smaller_or_equal_than_all_of(T const to_compare, Ts const... valid_values)
51
{
52
    return (... && (to_compare <= valid_values));
53
}
54
55
template<typename T, typename... Ts>
56
[[nodiscard]] constexpr bool first_is_larger_than_all_of(T const to_compare, Ts const... valid_values)
57
{
58
    return (... && (to_compare > valid_values));
59
}
60
61
template<typename T, typename... Ts>
62
[[nodiscard]] constexpr bool first_is_larger_or_equal_than_all_of(T const to_compare, Ts const... valid_values)
63
{
64
    return (... && (to_compare >= valid_values));
65
}
66
}
67
68
#if USING_AK_GLOBALLY
69
using AK::first_is_larger_or_equal_than_all_of;
70
using AK::first_is_larger_or_equal_than_one_of;
71
using AK::first_is_larger_than_all_of;
72
using AK::first_is_larger_than_one_of;
73
using AK::first_is_one_of;
74
using AK::first_is_smaller_or_equal_than_all_of;
75
using AK::first_is_smaller_or_equal_than_one_of;
76
using AK::first_is_smaller_than_all_of;
77
using AK::first_is_smaller_than_one_of;
78
#endif