-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Thorsten Ottosen Sent: 15 November 2006 12:00 To: boost-users@lists.boost.org 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
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
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@lists.boost.org 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.