LCOV - code coverage report
Current view: top level - usr/include/boost/wave/util - pattern_parser.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 5 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*=============================================================================
       2             :     Boost.Wave: A Standard compliant C++ preprocessor library
       3             : 
       4             :     Global application configuration
       5             : 
       6             :     http://www.boost.org/
       7             : 
       8             :     Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
       9             :     Software License, Version 1.0. (See accompanying file
      10             :     LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
      11             : =============================================================================*/
      12             : 
      13             : #if !defined(BOOST_SPIRIT_PATTERN_PARSER_HPP)
      14             : #define BOOST_SPIRIT_PATTERN_PARSER_HPP
      15             : 
      16             : #include <boost/spirit/include/classic_primitives.hpp>
      17             : #include <boost/wave/wave_config.hpp>
      18             : 
      19             : // this must occur after all of the includes and before any code appears
      20             : #ifdef BOOST_HAS_ABI_HEADERS
      21             : #include BOOST_ABI_PREFIX
      22             : #endif
      23             : 
      24             : ///////////////////////////////////////////////////////////////////////////////
      25             : namespace boost {
      26             : namespace wave {
      27             : namespace util {
      28             : 
      29             :     ///////////////////////////////////////////////////////////////////////////
      30             :     //
      31             :     //  pattern_and class
      32             :     //
      33             :     ///////////////////////////////////////////////////////////////////////////
      34             :     template <typename CharT = char>
      35             :     struct pattern_and
      36             :       : public boost::spirit::classic::char_parser<pattern_and<CharT> >
      37             :     {
      38           0 :         pattern_and(CharT pattern_, unsigned long pattern_mask_ = 0UL)
      39             :         :   pattern(pattern_),
      40             :             pattern_mask((0UL != pattern_mask_) ?
      41             :                 pattern_mask_ : (unsigned long)pattern_)
      42             :         {}
      43             : 
      44             :         template <typename T>
      45           0 :         bool test(T pattern_) const
      46           0 :         { return ((unsigned long)pattern_ & pattern_mask) == (unsigned long)pattern; }
      47             : 
      48             :         CharT         pattern;
      49             :         unsigned long pattern_mask;
      50             :     };
      51             : 
      52             :     template <typename CharT>
      53             :     inline pattern_and<CharT>
      54           0 :     pattern_p(CharT pattern, unsigned long pattern_mask = 0UL)
      55           0 :     { return pattern_and<CharT>(pattern, pattern_mask); }
      56             : 
      57             : ///////////////////////////////////////////////////////////////////////////////
      58             : }   // namespace util
      59             : }   // namespace wave
      60             : }   // namespace boost
      61             : 
      62             : // the suffix header occurs after all of the code
      63             : #ifdef BOOST_HAS_ABI_HEADERS
      64             : #include BOOST_ABI_SUFFIX
      65             : #endif
      66             : 
      67             : #endif // defined(BOOST_SPIRIT_PATTERN_PARSER_HPP)

Generated by: LCOV version 1.14