#include <iostream>
#include <map>
#include <string>

struct OrderBook {
	std::string symbol;
	OrderBook(std::string symbol) : symbol(symbol) {}
	void addOrder(std::string received_order) {
		std::cout << "adding order '" << received_order << "' into symbol '" << symbol << "'";
	}
};

int main() {
	std::map<std::string, OrderBook> buy_side_symbols;
	std::string symbol = "the symbol";

	auto symbol_iter = buy_side_symbols.find(symbol);

	if (symbol_iter == buy_side_symbols.end())
    	symbol_iter = buy_side_symbols.emplace(symbol, symbol).first;

	std::string received_order = "some book";
	symbol_iter->second.addOrder(received_order);

	return 0;
}