void inventory::order (int wid)
// process an order for a widget with given id number
{ cout << "Received order for widget type " << wid << endl;
list<Widget>::iterator we_have =
find_if(on_hand.begin(), on_hand.end(), WidgetTester(wid));
if (we_have != on_hand.end()) {
cout << "Ship " << *wehave << endl;
on_hand.erase(we_have);
}
else {
cout << "Back order widget of type " << wid << endl;
on_order.push_front(wid);
}
}