|
Boost Users : |
Subject: Re: [Boost-users] problem with xpressive sregex and stl::list::iterator
From: Eric Niebler (eric_at_[hidden])
Date: 2011-09-29 14:55:25
On 9/29/2011 3:02 AM, Richard wrote:
> hi,
>
> I am trying to use stl::list<boost::xpressive::sregex>, but the
> following code cannot be complied
>
> stl::list<boost::xpressive::sregex> rxs;
> sregex rex = boost::xpressive::sregex::compile("hello");
> rxs.push_back(rex);
> 50 std::list<boost::xpressive::sregex>::iterator it;
> 51
> 52 for (it= rxs.begin(); it != rxs.end(); it++)
> 53 {
> //do something
> }
>
> line 52, "it= rxs.begin()" cannot be complied, it said the no match
> operator =., what is wrong?
The following program compiles for me:
#include <list>
#include <boost/xpressive/xpressive_dynamic.hpp>
int main()
{
std::list<boost::xpressive::sregex> rxs;
boost::xpressive::sregex rex =
boost::xpressive::sregex::compile("hello");
rxs.push_back(rex);
std::list<boost::xpressive::sregex>::iterator it;
for (it= rxs.begin(); it != rxs.end(); it++)
{
//do something
}
}
So I don't know what the problem could be. What compiler/std-library are
you using, and what version of boost?
> by the way, I cannot use std::vector<boost::xpressive::sregex>, it
> compiled failed. I searched on web, it is said there is a bug with this
> issue. I do not want to change the version of boost library I used, so
> let's ignore this issue at the moment.
I don't remember that bug. Can you send a link to the ticket or to the
mailing list discussion?
-- Eric Niebler BoostPro Computing http://www.boostpro.com
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net