8#include <unordered_map>
34 virtual bool addOrder(std::unique_ptr<common::Order> order);
42 [[nodiscard]]
virtual std::optional<common::Order*>
50 [[nodiscard]]
virtual std::optional<common::Order*>
77 const std::unordered_map<common::OrderID, std::unique_ptr<common::Order>>&
getOrders()
const;
80 std::unordered_map<common::OrderID, std::unique_ptr<common::Order>>
Manages all the orders in the system.
Definition OrderManager.h:19
virtual std::optional< common::Order * > getOrderById(const common::OrderID &id) const
Gets an order by its core ID.
Definition OrderManager.cpp:23
virtual ~OrderManager()=default
virtual bool removeOrderById(const common::OrderID &id)
Removes an order by its ID.
Definition OrderManager.cpp:46
const std::unordered_map< common::OrderID, std::unique_ptr< common::Order > > & getOrders() const
Gets a const reference to the underlying order map.
Definition OrderManager.cpp:65
std::unordered_map< common::OrderID, std::unique_ptr< common::Order > > mOrderMap
A map of order IDs to orders.
Definition OrderManager.h:81
virtual std::optional< common::Order * > getOrderByClientOrderId(const std::string &clOrdId) const
Gets an order by its client-assigned ID.
Definition OrderManager.cpp:33
size_t size() const
Gets the number of orders in the order manager.
Definition OrderManager.cpp:60
bool containsOrderById(const common::OrderID &id) const
Checks if an order exists in the order manager.
Definition OrderManager.cpp:55
OrderManager()=default
Default constructor.
virtual bool addOrder(std::unique_ptr< common::Order > order)
Adds an order to the order manager.
Definition OrderManager.cpp:7
uint64_t OrderID
A type alias for unique order identifiers.
Definition Types.h:134
Definition CancelOrder.h:10