Re: [Boost-users] Multi_indexcomposite_key

there are one hundred million defferent manufacturer, all have "A4", "A8", "A12", "A16"... model car.
manufacturer and model is many-to-many relationship.
Particularly large data.
struct _Modify_price
{
_Modify_price(int price_):m_price_(price_){}
void operator()(car_model& cm_)
{
cm_.price = m_price_;
}
private:
int m_price_;
};
------------------ 原始邮件 ------------------
发件人: "Joaquin M Lopez Munoz"
Oh, sorry.
Nothing to be sorry about. On another topic, please don't top-post and try to follow the discussion policies of the list as summarized at http://www.boost.org/community/policy.html
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),
Correct, you must change from the example's original ordered_unique to ordered_no_unique so as to allow cars with from different manufacturers yet the same model name.
ct.insert(car_model("A4",cadillac,78901)); ct.insert(car_model("A4",bmw,65412));
index_iterator
::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);
This looks right (haven't compiled it), although a little contrived: unless you expect to have *many* cars with the same model name, you can just traverse [im0,im1) and locate the car you're after.
ctmv.modify(cctmv, _Modify_price(10000)); // right or wrong???
I don't know how you've defined _Modify_price. Care to show? 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

isjk escribió:
there are one hundred million defferent manufacturer, all have "A4", "A8", "A12", "A16"... model car. manufacturer and model is many-to-many relationship.
Please don't top-post and try to follow the discussion policies of the list as summarized at http://www.boost.org/community/policy.html Would you care to reply again (to my post from yesterday, not to this one) observing these poilicies so that users of the list can comfortably follow the discussion? Thank you! Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
participants (2)
-
isjk
-
joaquin@tid.es