Oh, sorry.
 
Assume "cadillac" have "A4" model, "bmw" have "A4" model too.
now, if I will querying "A4" 's price, I must kown the manufacturer.
 
ordered_no_unique<
      tag<model>,BOOST_MULTI_INDEX_MEMBER(car_model,std::string,model)
    >,
ct.insert(car_model("A4",cadillac,78901));
ct.insert(car_model("A4",bmw,65412));
 
index_iterator<car_table,model>::type im0,im1;
boost::tuples::tie(im0,im1)=get<model>(ct).equal_range(model);
car_table_manufacturer_view ctmv;
copy(im0,im1,back_inserter(ctmv));
car_table_manufacturer_view::iterator ictmv = ctmv.find(cm);   
ctmv.modify(cctmv, _Modify_price(10000)); // right or wrong???
 
------------------ 原始邮件 ------------------
发送时间: 2010年7月25日(星期天) 晚上7:17
收件人: "boost-users"<boost-users@lists.boost.org>;
主题: Re: [Boost-users]¤Multi_indexcomposite_key~~
 
isjk <isjk <at> foxmail.com> writes:

>
>
> thanks a lot!
>
> now, I have a new problem:
>
> Multi_index example 6: complex searches and forergn keys,
> struct car_manufacturer
> {
>   std::string name;
> };
>
> struct car_model
> {
>   std::string       model;
>   car_manufacturer* manufacturer;
>   int               price;
> };
>
> I want use "model, name" to query "price", and I maybe to modify "price".
>
> How to do it? thanks.

Sorry but your question is not clear to me: what do you mean
by querying "price" using "model, name"? If you know the model
of a car then you just can use find() in the car_table to locate
the element and access the price.

As for modifying, there's a tutorial section on updating elements
of a multi_index_container at

http://www.boost.org/libs/multi_index/doc/tutorial/basics.html#ord_updating

Joaquín M López Muoz
Telefónica, Investigación y Desarrollo

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users