Coverage Report

Created: 2025-08-26 06:58

/src/exiv2/src/utils.hpp
Line
Count
Source
1
#ifndef EXIV2_UTILS_HPP
2
#define EXIV2_UTILS_HPP
3
4
#include <string>
5
#include <string_view>
6
7
namespace Exiv2::Internal {
8
9
template <typename T>
10
13.4k
constexpr bool contains(std::string_view s, T c) {
11
#ifdef __cpp_lib_string_contains
12
  return s.contains(c);
13
#else
14
13.4k
  return s.find(c) != std::string_view::npos;
15
13.4k
#endif
16
13.4k
}
bool Exiv2::Internal::contains<char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*)
Line
Count
Source
10
7.80k
constexpr bool contains(std::string_view s, T c) {
11
#ifdef __cpp_lib_string_contains
12
  return s.contains(c);
13
#else
14
7.80k
  return s.find(c) != std::string_view::npos;
15
7.80k
#endif
16
7.80k
}
bool Exiv2::Internal::contains<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, char)
Line
Count
Source
10
5.55k
constexpr bool contains(std::string_view s, T c) {
11
#ifdef __cpp_lib_string_contains
12
  return s.contains(c);
13
#else
14
5.55k
  return s.find(c) != std::string_view::npos;
15
5.55k
#endif
16
5.55k
}
bool Exiv2::Internal::contains<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)
Line
Count
Source
10
100
constexpr bool contains(std::string_view s, T c) {
11
#ifdef __cpp_lib_string_contains
12
  return s.contains(c);
13
#else
14
100
  return s.find(c) != std::string_view::npos;
15
100
#endif
16
100
}
17
18
/// @brief Returns the uppercase version of \b str
19
std::string upper(const std::string& str);
20
21
/// @brief Returns the lowercase version of \b str
22
std::string lower(const std::string& a);
23
24
}  // namespace Exiv2::Internal
25
26
#endif  // EXIV2_UTILS_HPP