LCOV - code coverage report
Current view: top level - v1/__algorithm - find_first_of.h (source / functions) Coverage Total Hit
Test: vrml_testfiles.info Lines: 100.0 % 7 7
Test Date: 2024-03-08 16:12:17 Functions: 100.0 % 1 1

            Line data    Source code
       1              : // -*- C++ -*-
       2              : //===----------------------------------------------------------------------===//
       3              : //
       4              : // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
       5              : // See https://llvm.org/LICENSE.txt for license information.
       6              : // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
       7              : //
       8              : //===----------------------------------------------------------------------===//
       9              : 
      10              : #ifndef _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
      11              : #define _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
      12              : 
      13              : #include <__algorithm/comp.h>
      14              : #include <__config>
      15              : #include <__iterator/iterator_traits.h>
      16              : 
      17              : #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
      18              : #  pragma GCC system_header
      19              : #endif
      20              : 
      21              : _LIBCPP_BEGIN_NAMESPACE_STD
      22              : 
      23              : template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
      24              : _LIBCPP_HIDE_FROM_ABI
      25        12295 : _LIBCPP_CONSTEXPR_SINCE_CXX14 _ForwardIterator1 __find_first_of_ce(_ForwardIterator1 __first1,
      26              :                                                                    _ForwardIterator1 __last1,
      27              :                                                                    _ForwardIterator2 __first2,
      28              :                                                                    _ForwardIterator2 __last2,
      29              :                                                                    _BinaryPredicate&& __pred) {
      30        79340 :   for (; __first1 != __last1; ++__first1)
      31       141130 :     for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j)
      32        74085 :       if (__pred(*__first1, *__j))
      33        74085 :         return __first1;
      34         5255 :   return __last1;
      35        12295 : }
      36              : 
      37              : template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
      38              : _LIBCPP_NODISCARD_EXT inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 _ForwardIterator1
      39              : find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      40              :               _ForwardIterator2 __last2, _BinaryPredicate __pred) {
      41              :   return _VSTD::__find_first_of_ce(__first1, __last1, __first2, __last2, __pred);
      42              : }
      43              : 
      44              : template <class _ForwardIterator1, class _ForwardIterator2>
      45              : _LIBCPP_NODISCARD_EXT inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20 _ForwardIterator1 find_first_of(
      46              :     _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) {
      47              :   return std::__find_first_of_ce(__first1, __last1, __first2, __last2, __equal_to());
      48              : }
      49              : 
      50              : _LIBCPP_END_NAMESPACE_STD
      51              : 
      52              : #endif // _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
        

Generated by: LCOV version 2.0-1