imgtools/imglib/boostlibrary/boost/regex/v4/regex_merge.hpp
changeset 600 6d08f4a05d93
equal deleted inserted replaced
599:fa7a3cc6effd 600:6d08f4a05d93
       
     1 /*
       
     2  *
       
     3  * Copyright (c) 1998-2002
       
     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_MERGE_HPP
       
    22 #define BOOST_REGEX_V4_REGEX_MERGE_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 Iterator, class traits, class charT>
       
    39 inline OutputIterator regex_merge(OutputIterator out,
       
    40                          Iterator first,
       
    41                          Iterator last,
       
    42                          const basic_regex<charT, traits>& e, 
       
    43                          const charT* fmt, 
       
    44                          match_flag_type flags = match_default)
       
    45 {
       
    46    return regex_replace(out, first, last, e, fmt, flags);
       
    47 }
       
    48 
       
    49 template <class OutputIterator, class Iterator, class traits, class charT>
       
    50 inline OutputIterator regex_merge(OutputIterator out,
       
    51                          Iterator first,
       
    52                          Iterator last,
       
    53                          const basic_regex<charT, traits>& e, 
       
    54                          const std::basic_string<charT>& fmt,
       
    55                          match_flag_type flags = match_default)
       
    56 {
       
    57    return regex_merge(out, first, last, e, fmt.c_str(), flags);
       
    58 }
       
    59 
       
    60 template <class traits, class charT>
       
    61 inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
       
    62                          const basic_regex<charT, traits>& e, 
       
    63                          const charT* fmt,
       
    64                          match_flag_type flags = match_default)
       
    65 {
       
    66    return regex_replace(s, e, fmt, flags);
       
    67 }
       
    68 
       
    69 template <class traits, class charT>
       
    70 inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
       
    71                          const basic_regex<charT, traits>& e, 
       
    72                          const std::basic_string<charT>& fmt,
       
    73                          match_flag_type flags = match_default)
       
    74 {
       
    75    return regex_replace(s, e, fmt, flags);
       
    76 }
       
    77 
       
    78 #ifdef BOOST_MSVC
       
    79 #pragma warning(push)
       
    80 #pragma warning(disable: 4103)
       
    81 #endif
       
    82 #ifdef BOOST_HAS_ABI_HEADERS
       
    83 #  include BOOST_ABI_SUFFIX
       
    84 #endif
       
    85 #ifdef BOOST_MSVC
       
    86 #pragma warning(pop)
       
    87 #endif
       
    88 
       
    89 } // namespace boost
       
    90 
       
    91 #endif  // BOOST_REGEX_V4_REGEX_MERGE_HPP
       
    92 
       
    93