#pragma once #include #include #include "OrderBookEntry.h" class Wallet { public: Wallet(); /** insert currency to the wallet */ void insertCurrency(std::string type, double amount); /** remove currency from the wallet */ bool removeCurrency(std::string type, double amount); /** check if the wallet contains at least this much currency */ bool containsCurrency(std::string type, double amount); /** check if the wallet can cope with the ask or bid */ bool canFulfillOrder(OrderBookEntry order); /** generate a string representation of the wallet */ std::string toString(); private: std::map currencies; };