Coverage Report

Created: 2025-06-13 06:46

/src/Fast-DDS/thirdparty/taocpp-pegtl/pegtl/internal/at.hpp
Line
Count
Source (jump to first uncovered line)
1
// Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
4
#ifndef TAO_PEGTL_INTERNAL_AT_HPP
5
#define TAO_PEGTL_INTERNAL_AT_HPP
6
7
#include "../config.hpp"
8
9
#include "seq.hpp"
10
#include "skip_control.hpp"
11
#include "trivial.hpp"
12
13
#include "../apply_mode.hpp"
14
#include "../rewind_mode.hpp"
15
16
#include "../analysis/generic.hpp"
17
18
namespace tao
19
{
20
   namespace TAO_PEGTL_NAMESPACE
21
   {
22
      namespace internal
23
      {
24
         template< typename... Rules >
25
         struct at
26
            : at< seq< Rules... > >
27
         {
28
         };
29
30
         template<>
31
         struct at<>
32
            : trivial< true >
33
         {
34
         };
35
36
         template< typename Rule >
37
         struct at< Rule >
38
         {
39
            using analyze_t = analysis::generic< analysis::rule_type::opt, Rule >;
40
41
            template< apply_mode,
42
                      rewind_mode,
43
                      template< typename... >
44
                      class Action,
45
                      template< typename... >
46
                      class Control,
47
                      typename Input,
48
                      typename... States >
49
            static bool match( Input& in, States&&... st )
50
0
            {
51
0
               const auto m = in.template mark< rewind_mode::required >();
52
0
               return Control< Rule >::template match< apply_mode::nothing, rewind_mode::active, Action, Control >( in, st... );
53
0
            }
54
         };
55
56
         template< typename... Rules >
57
         struct skip_control< at< Rules... > > : std::true_type
58
         {
59
         };
60
61
      }  // namespace internal
62
63
   }  // namespace TAO_PEGTL_NAMESPACE
64
65
}  // namespace tao
66
67
#endif