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

          Line data    Source code
       1             : /*
       2             :  *
       3             :  * Copyright (c) 1998-2009
       4             :  * John Maddock
       5             :  *
       6             :  * Use, modification and distribution are subject to the 
       7             :  * Boost Software License, Version 1.0. (See accompanying file 
       8             :  * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       9             :  *
      10             :  */
      11             : 
      12             :  /*
      13             :   *   LOCATION:    see http://www.boost.org for most recent version.
      14             :   *   FILE         regex_format.hpp
      15             :   *   VERSION      see <boost/version.hpp>
      16             :   *   DESCRIPTION: Provides formatting output routines for search and replace
      17             :   *                operations.  Note this is an internal header file included
      18             :   *                by regex.hpp, do not include on its own.
      19             :   */
      20             : 
      21             : #ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP
      22             : #define BOOST_REGEX_V4_REGEX_REPLACE_HPP
      23             : 
      24             : 
      25             : namespace boost{
      26             : 
      27             : #ifdef BOOST_MSVC
      28             : #pragma warning(push)
      29             : #pragma warning(disable: 4103)
      30             : #endif
      31             : #ifdef BOOST_HAS_ABI_HEADERS
      32             : #  include BOOST_ABI_PREFIX
      33             : #endif
      34             : #ifdef BOOST_MSVC
      35             : #pragma warning(pop)
      36             : #endif
      37             : 
      38             : template <class OutputIterator, class BidirectionalIterator, class traits, class charT, class Formatter>
      39           0 : OutputIterator regex_replace(OutputIterator out,
      40             :                          BidirectionalIterator first,
      41             :                          BidirectionalIterator last,
      42             :                          const basic_regex<charT, traits>& e, 
      43             :                          Formatter fmt, 
      44             :                          match_flag_type flags = match_default)
      45             : {
      46           0 :    regex_iterator<BidirectionalIterator, charT, traits> i(first, last, e, flags);
      47           0 :    regex_iterator<BidirectionalIterator, charT, traits> j;
      48           0 :    if(i == j)
      49             :    {
      50           0 :       if(!(flags & regex_constants::format_no_copy))
      51           0 :          out = BOOST_REGEX_DETAIL_NS::copy(first, last, out);
      52             :    }
      53             :    else
      54             :    {
      55           0 :       BidirectionalIterator last_m(first);
      56           0 :       while(i != j)
      57             :       {
      58           0 :          if(!(flags & regex_constants::format_no_copy))
      59           0 :             out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out); 
      60           0 :          out = i->format(out, fmt, flags, e);
      61           0 :          last_m = (*i)[0].second;
      62           0 :          if(flags & regex_constants::format_first_only)
      63             :             break;
      64           0 :          ++i;
      65             :       }
      66           0 :       if(!(flags & regex_constants::format_no_copy))
      67           0 :          out = BOOST_REGEX_DETAIL_NS::copy(last_m, last, out);
      68             :    }
      69           0 :    return out;
      70             : }
      71             : 
      72             : template <class traits, class charT, class Formatter>
      73             : std::basic_string<charT> regex_replace(const std::basic_string<charT>& s,
      74             :                          const basic_regex<charT, traits>& e, 
      75             :                          Formatter fmt,
      76             :                          match_flag_type flags = match_default)
      77             : {
      78             :    std::basic_string<charT> result;
      79             :    BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);
      80             :    regex_replace(i, s.begin(), s.end(), e, fmt, flags);
      81             :    return result;
      82             : }
      83             : 
      84             : #ifdef BOOST_MSVC
      85             : #pragma warning(push)
      86             : #pragma warning(disable: 4103)
      87             : #endif
      88             : #ifdef BOOST_HAS_ABI_HEADERS
      89             : #  include BOOST_ABI_SUFFIX
      90             : #endif
      91             : #ifdef BOOST_MSVC
      92             : #pragma warning(pop)
      93             : #endif
      94             : 
      95             : } // namespace boost
      96             : 
      97             : #endif  // BOOST_REGEX_V4_REGEX_REPLACE_HPP
      98             : 
      99             : 

Generated by: LCOV version 1.14