
All, I am trying to copy from a boost::cmatch variable to a std::set. It compiles fine but when I run it I get a: Debug Assertion Failure xtree 245 map/set iterator not dereferencable I think it's the "match.begin()" and "match.end()" in std::copy that is failing. This is a short version of what I have: #include <boost/regex.hpp> #include <algorithm> #include <string> #include <set> bool Parse( const std::string &page, std::set< std::string > &links ) { const boost::regex expression( "123" ); boost::cmatch match; if( boost::regex_search( page.c_str(), match, expression ) ) { std::copy( match.begin(), match.end(), links.begin() ); return true; } return false; } int main() { std::string test_data = "www.abc123.com/index.php"; std::set< std::string > links; Parse( test_data, links ); return EXIT_SUCCESS; } Thanks in advance. Carl.