Boost logo

Boost Users :

Subject: Re: [Boost-users] multi_index_container with protected constructor
From: Horváth Imre (blemidon_at_[hidden])
Date: 2013-07-17 10:04:27


Thank you, it works!

Best regards:
Imre Horvath
2013. 07. 17, szerda keltezéssel 16.47-kor Pekka Seppänen ezt írta:
> On 17.7.2013 16:07, Horváth Imre wrote:
> > Hi,
> >
> > I want to use boost::multi_index_container with a class that have
> > protected constructors, but the compile fails.
> > I think I should make multi_index_container a friend of my class, but I
> > don't know how.
>
> I guess you don't want to do that (as quite likely you'd like to pass the
> instance around, ie. P, not create new n copies of Item), but add:
>
>
> explicit
>
> > Item(P item)
> > : source(item->get_source())
> > , target(item->get_target())
> > {
> > }
>
> and it compiles. Yes, copy constructing via create(P item) works as expected
> with that trick done.
>
> My compiler choked on types too much, so didn't look where it actually tries
> to construct shared_ptr< Item > and feed that to constructor. But I think this
> is the main cause anyway and explicit keyword is there to help you out.
>
>
> -- Pekka
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


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