fork download
  1. #include <string>
  2.  
  3. namespace qbbo {
  4. struct Financial_status_indicator {};
  5. struct Security_class {};
  6. struct Current_trading_state {};
  7. struct Market_category {};
  8. struct Reg_sho_action {};
  9. }
  10.  
  11. class Stock {
  12.  
  13. public:
  14. Stock(std::string, qbbo::Financial_status_indicator, qbbo::Security_class,
  15. qbbo::Current_trading_state,
  16. qbbo::Market_category, qbbo::Reg_sho_action);
  17. ~Stock();
  18. void setFinancialStatusIndicator(qbbo::Financial_status_indicator financialStatusIndicator);
  19. void setSecurityClass(qbbo::Security_class securityClass);
  20. void setCurrentTradingState(qbbo::Current_trading_state tradingState);
  21. void setMarketCategory(qbbo::Market_category marketCategory);
  22. void setREGShoAction(qbbo::Reg_sho_action regSHOAction);
  23. bool isStockTrading();
  24.  
  25. private:
  26. enum StockState {
  27. STOCK_STATE_OK, STOCK_STATE_UNKNOWN, STOCK_STATE_UNEXPECTED_CHARACTERISTIC
  28. };
  29.  
  30. std::string name;
  31. int inventory;
  32. StockState currentState;
  33.  
  34. // Expected values initialised in constructor
  35. qbbo::Financial_status_indicator expectedFinancialStatusIndicator;
  36. qbbo::Security_class expectedSecurityClass;
  37. qbbo::Current_trading_state expectedCurrentTradingState;
  38. qbbo::Market_category expectedMarketCategory;
  39. qbbo::Reg_sho_action expectedRegSHOAction;
  40.  
  41. // Actual values as set by messages
  42. qbbo::Financial_status_indicator financialStatusIndicator;
  43. qbbo::Security_class securityClass;
  44. qbbo::Current_trading_state currentTradingState;
  45. qbbo::Market_category marketCategory;
  46. qbbo::Reg_sho_action regSHOAction;
  47.  
  48. void nextState();
  49. };
  50.  
  51.  
  52. #include <map>
  53.  
  54. int main() {
  55. std::map<std::string, Stock*> stocks;
  56. }
  57.  
Success #stdin #stdout 0.01s 2720KB
stdin
Standard input is empty
stdout
Standard output is empty