#include "Market.h" #include "Production.h" #include "SellProduction.h" #include #include shared_ptr Market::get_sell_production(shared_ptr p_pdt){ auto p_sl_pdt_i = sl_pdts.find(p_pdt); return p_sl_pdt_i->second; } shared_ptr Market::get_parent_market(){ return pae_mkts; } shared_ptr Market::ask_for_selling_right(shared_ptr p_pop, shared_ptr p_pdt) { shared_ptr p_pm(new PermitManager(p_pop, p_pdt, this)); pmt_mgrs_buying.push_back(p_pm); return p_pm; } shared_ptr Market::ask_for_buying_right(shared_ptr p_pop) { shared_ptr p_pm(new PermitManager(p_pop, this)); pmt_mgrs_buying.push_back(p_pm); return p_pm; } shared_ptr Market::send_production_to_sell(shared_ptr p_pm, float price, float amount) { shared_ptr pn_req(new Request(p_pm, price, amount)); auto p_spt = get_sell_production(p_pm->p_dpt); p_spt->new_request(pn_req); return pn_req; }