Coverage Report

Created: 2022-08-24 06:19

/src/Fast-DDS/thirdparty/taocpp-pegtl/pegtl/internal/must.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_MUST_HPP
5
#define TAO_PEGTL_INTERNAL_MUST_HPP
6
7
#include "../config.hpp"
8
9
#include "raise.hpp"
10
#include "seq.hpp"
11
#include "skip_control.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
         // The general case applies must<> to each of the
25
         // rules in the 'Rules' parameter pack individually.
26
27
         template< typename... Rules >
28
         struct must
29
            : seq< must< Rules >... >
30
         {
31
         };
32
33
         // While in theory the implementation for a single rule could
34
         // be simplified to must< Rule > = sor< Rule, raise< Rule > >, this
35
         // would result in some unnecessary run-time overhead.
36
37
         template< typename Rule >
38
         struct must< Rule >
39
         {
40
            using analyze_t = typename Rule::analyze_t;
41
42
            template< apply_mode A,
43
                      rewind_mode,
44
                      template< typename... >
45
                      class Action,
46
                      template< typename... >
47
                      class Control,
48
                      typename Input,
49
                      typename... States >
50
            static bool match( Input& in, States&&... st )
51
0
            {
52
0
               if( !Control< Rule >::template match< A, rewind_mode::dontcare, Action, Control >( in, st... ) ) {
53
0
                  raise< Rule >::template match< A, rewind_mode::dontcare, Action, Control >( in, st... );
54
0
               }
55
0
               return true;
56
0
            }
Unexecuted instantiation: bool tao::pegtl::internal::must<eprosima::fastdds::dds::DDSSQLFilter::FilterExpression>::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)0, tao::pegtl::nothing, tao::pegtl::parse_tree::internal::make_control<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode, eprosima::fastdds::dds::DDSSQLFilter::parser::selector, tao::pegtl::normal>::type, tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&>(tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&)
Unexecuted instantiation: bool tao::pegtl::internal::must<eprosima::fastdds::dds::DDSSQLFilter::Condition>::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)0, tao::pegtl::nothing, tao::pegtl::parse_tree::internal::make_control<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode, eprosima::fastdds::dds::DDSSQLFilter::parser::selector, tao::pegtl::normal>::type, tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&>(tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&)
Unexecuted instantiation: bool tao::pegtl::internal::must<tao::pegtl::eof>::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)0, tao::pegtl::nothing, tao::pegtl::parse_tree::internal::make_control<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode, eprosima::fastdds::dds::DDSSQLFilter::parser::selector, tao::pegtl::normal>::type, tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&>(tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&)
Unexecuted instantiation: bool tao::pegtl::internal::must<eprosima::fastdds::dds::DDSSQLFilter::Literal>::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)0, tao::pegtl::nothing, tao::pegtl::parse_tree::internal::make_control<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode, eprosima::fastdds::dds::DDSSQLFilter::parser::selector, tao::pegtl::normal>::type, tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&>(tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&, eprosima::fastdds::dds::DDSSQLFilter::parser::CurrentIdentifierState&, tao::pegtl::parse_tree::internal::state<eprosima::fastdds::dds::DDSSQLFilter::parser::ParseNode>&)
57
         };
58
59
         template< typename... Rules >
60
         struct skip_control< must< Rules... > > : std::true_type
61
         {
62
         };
63
64
      }  // namespace internal
65
66
   }  // namespace TAO_PEGTL_NAMESPACE
67
68
}  // namespace tao
69
70
#endif