Joel Grunbaum
2022-01-13 90107c504e5b7d1bea2c93a43c7d07b640350355
book.cpp
@@ -71,7 +71,7 @@
std::ostream& operator<<(std::ostream& out, const Level& a)
{
   return out << "Price: " << a.price << ", volume: " << a.volume
              << ", time: " << a.timestamp << ", id: " << a.id;
            << ", time: " << a.timestamp << ", id: " << a.id;
}
Book::Book()
@@ -92,27 +92,26 @@
void Book::ask(Order& order)
{
    auto a =
    this->askSide.emplace(order.id, order);
    if (!a.second) {
        std::cout << order.id << "already exists" << std::endl;
    }
   auto a = this->askSide.emplace(order.id, order);
   if (!a.second) {
      std::cout << order.id << "already exists" << std::endl;
   }
}
void Book::bid(Order& order)
{
    auto a =
    this->bidSide.emplace(order.id, order);
    if (!a.second) {
        std::cout << order.id << "already exists" << std::endl;
    }
   auto a = this->bidSide.emplace(order.id, order);
   if (!a.second) {
      std::cout << order.id << "already exists" << std::endl;
   }
}
void Book::printBook(std::size_t numOrders)
{
   std::cout << "Sell side: " << this->askSide.size() << std::endl;
   std::vector<Level> askCopy;
    for (auto i : this->askSide) askCopy.push_back(i.second);
   for (auto i : this->askSide)
      askCopy.push_back(i.second);
   std::size_t count = 0;
   std::sort(askCopy.begin(), askCopy.end());
   for (auto i = askCopy.rbegin(); i != askCopy.rend(); i++) {
@@ -122,7 +121,8 @@
   }
   std::cout << "Buy side: " << this->bidSide.size() << std::endl;
   std::vector<Level> bidCopy;
    for (auto i : this->bidSide) bidCopy.push_back(i.second);
   for (auto i : this->bidSide)
      bidCopy.push_back(i.second);
   count = 0;
   std::sort(bidCopy.begin(), bidCopy.end());
   for (auto i = bidCopy.rbegin(); i != bidCopy.rend(); i++) {