Ticket #7070: copy_path.cpp.patch

File copy_path.cpp.patch, 2.0 KB (added by Mike Liang <mtliang@…>, 10 years ago)
  • tools/bcp/copy_path.cpp

     
    134134         "(?|"
    135135            "(namespace\\s+)boost(_\\w+)?(?:(\\s*::\\s*)phoenix)?"
    136136         "|"
    137             "(namespace\\s+)(adstl|phoenix|rapidxml)\\>"
     137            "(namespace\\s+(?:detail::)?)(adstl|phoenix|rapidxml)\\>"
    138138         "|"
    139139            "()\\<boost((?:_(?!intrusive_tags)\\w+)?\\s*(?:::))(?:(\\s*)phoenix)?"
    140140         "|"
     
    154154         "|"
    155155            "(BOOST_CLASS_REQUIRE4?[^;]*)boost((?:_\\w+)?\\s*,)"
    156156         "|"
     157            "(::tr1::|TR1_DECL\\s+)boost(_\\w+\\s*)" // math tr1
     158         "|"
     159            "(\\(\\s*)boost(\\s*\\))\\s*(\\(\\s*)phoenix(\\s*\\))"
     160         "|"
    157161            "(\\(\\s*)boost(\\s*\\))"
    158162         ")"
    159163      );
    160164
    161       regex_replace(std::back_inserter(v2), v1.begin(), v1.end(), namespace_matcher, "$1" + m_namespace_name + "$2(?3$3" + m_namespace_name + "phoenix)", boost::regex_constants::format_all);
     165      regex_replace(std::back_inserter(v2), v1.begin(), v1.end(), namespace_matcher, "$1" + m_namespace_name + "$2(?3$3" + m_namespace_name + "phoenix?4$4)", boost::regex_constants::format_all);
    162166      std::swap(v1, v2);
    163167      v2.clear();
    164168
     
    191195            "\\s*\\{.*"
    192196            "\\})([^\\{\\};]*)\\z"
    193197            */
    194             "namespace\\s+" + m_namespace_name +
    195             "\\s*\\{"
     198            "(namespace)(\\s+)(" + m_namespace_name + ")"
     199            "(adstl|phoenix|rapidxml)?(\\s*\\{)"
    196200            );
    197201         regex_replace(std::back_inserter(v2), v1.begin(), v1.end(), namespace_alias,
    198             "namespace " + m_namespace_name + "{} namespace boost = " + m_namespace_name + "; namespace " + m_namespace_name + "{");
     202            "$1 $3$4 {} $1 (?4$4:boost) = $3$4; $1$2$3$4$5", boost::regex_constants::format_all);
    199203         std::swap(v1, v2);
    200204         v2.clear();
    201205      }