Boost logo

Boost Users :

From: Hughes, James (jhughes_at_[hidden])
Date: 2006-11-16 03:32:08


> -----Original Message-----
> From: boost-users-bounces_at_[hidden]
> [mailto:boost-users-bounces_at_[hidden]] On Behalf Of
> Thorsten Ottosen
> Sent: 15 November 2006 12:00
> To: boost-users_at_[hidden]
> Subject: Re: [Boost-users] Using assign::map_list_of for complex types
>
> Hughes, James wrote:
> > Hello all,
> >
> > I've been trying to create an initiliser for the following
> > (paraphrased)
> >
> > struct data
> > {
> > Char *str;
>
> const char*?

Typo when copying from Linux box to email box - soz!

>
> > Vector<int> stuff;
> > };
> >
> >
> > map<int, struct data> mapstuff = map_list_of (1, ("hello",
> list_of (3)
> > (4) (2)), (3, ("goodbye", list_of (1) (3) );
> >
> > Etc etc
> >
> > However, this doesn't work, with a very complex compile error from
> > assign. I've tried also...
> >
> > map<int, struct data> mapstuff = map_list_of
> > (1, {"hello", list_of (3) (4) (2) } ), // note curly braces
> > (3, {"goodbye", list_of (1) (3) ) } );
> >
> > But that doesn't work either.
> >
> > Is it actually possible to do something like this, and if so, how?
>
> I suspect that you have to provide a constructor for your data class:
>
> template< class Range >
> data( const char* str, const Range& r )
> : str(str), stuff(boost::begin(r),boost::end(r))
> { }
>

I did something along these lines but still got a load of compile
faults. Will post a more accurate code snippet when time allows, but
have a deadline end of today!!

> -Thorsten
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>

This message (including any attachments) contains confidential
and/or proprietary information intended only for the addressee.
Any unauthorized disclosure, copying, distribution or reliance on
the contents of this information is strictly prohibited and may
constitute a violation of law. If you are not the intended
recipient, please notify the sender immediately by responding to
this e-mail, and delete the message from your system. If you
have any questions about this e-mail please notify the sender
immediately.


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