class Stock; class Order; #include #include #include #include "Task.h" class StockMarket : public Task { public: void add( Stock* ); void addSell( Order* ); void addBuy( Order* ); void doTask(); vector::const_iterator begin() const { return stocks_.begin(); } vector::const_iterator end() const { return stocks_.end(); } vector::iterator begin() { return stocks_.begin(); } vector::iterator end() { return stocks_.end(); } private: list::iterator topSell( Stock * ); list::iterator topBuy( Stock * ); void execute( Stock * ); vector stocks_; struct orderList { list sell; list buy; }; map orders_; };