LCOV - code coverage report
Current view: top level - usr/include/boost/spirit/home/classic/core/impl - match.ipp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 17 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*=============================================================================
       2             :     Copyright (c) 1998-2003 Joel de Guzman
       3             :     http://spirit.sourceforge.net/
       4             : 
       5             :     Use, modification and distribution is subject to the Boost Software
       6             :     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
       7             :     http://www.boost.org/LICENSE_1_0.txt)
       8             : =============================================================================*/
       9             : #if !defined(BOOST_SPIRIT_MATCH_IPP)
      10             : #define BOOST_SPIRIT_MATCH_IPP
      11             : #include <algorithm>
      12             : 
      13             : namespace boost { namespace spirit {
      14             : 
      15             : BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
      16             : 
      17             :     template <typename T>
      18             :     inline match<T>::match()
      19             :     : len(-1), val() {}
      20             : 
      21             :     template <typename T>
      22             :     inline match<T>::match(std::size_t length_)
      23             :     : len(length_), val() {}
      24             : 
      25             :     template <typename T>
      26           0 :     inline match<T>::match(std::size_t length_, ctor_param_t val_)
      27           0 :     : len(length_), val(val_) {}
      28             : 
      29             :     template <typename T>
      30             :     inline bool
      31             :     match<T>::operator!() const
      32             :     {
      33             :         return len < 0;
      34             :     }
      35             : 
      36             :     template <typename T>
      37             :     inline std::ptrdiff_t
      38           0 :     match<T>::length() const
      39             :     {
      40             :         return len;
      41             :     }
      42             : 
      43             :     template <typename T>
      44             :     inline bool
      45             :     match<T>::has_valid_attribute() const
      46             :     {
      47             :         return val.is_initialized();
      48             :     }
      49             : 
      50             :     template <typename T>
      51             :     inline typename match<T>::return_t
      52           0 :     match<T>::value() const
      53             :     {
      54           0 :         BOOST_SPIRIT_ASSERT(val.is_initialized());
      55           0 :         return *val;
      56             :     }
      57             : 
      58             :     template <typename T>
      59             :     inline void
      60             :     match<T>::swap(match& other)
      61             :     {
      62             :         std::swap(len, other.len);
      63             :         std::swap(val, other.val);
      64             :     }
      65             : 
      66           0 :     inline match<nil_t>::match()
      67           0 :     : len(-1) {}
      68             : 
      69             :     inline match<nil_t>::match(std::size_t length_)
      70             :     : len(length_) {}
      71             : 
      72           0 :     inline match<nil_t>::match(std::size_t length_, nil_t)
      73             :     : len(length_) {}
      74             : 
      75             :     inline bool
      76           0 :     match<nil_t>::operator!() const
      77             :     {
      78           0 :         return len < 0;
      79             :     }
      80             : 
      81             :     inline bool
      82           0 :     match<nil_t>::has_valid_attribute() const
      83             :     {
      84           0 :         return false;
      85             :     }
      86             : 
      87             :     inline std::ptrdiff_t
      88           0 :     match<nil_t>::length() const
      89             :     {
      90           0 :         return len;
      91             :     }
      92             : 
      93             :     inline nil_t
      94           0 :     match<nil_t>::value() const
      95             :     {
      96           0 :         return nil_t();
      97             :     }
      98             : 
      99             :     inline void
     100             :     match<nil_t>::value(nil_t) {}
     101             : 
     102             :     inline void
     103             :     match<nil_t>::swap(match<nil_t>& other)
     104             :     {
     105             :         std::swap(len, other.len);
     106             :     }
     107             : 
     108             : BOOST_SPIRIT_CLASSIC_NAMESPACE_END
     109             : 
     110             : }} // namespace boost::spirit
     111             : 
     112             : #endif
     113             : 

Generated by: LCOV version 1.14