/* MurkMUD++ - A Windows compatible, C++ compatible Merc 2.2 Mud. \author Jon A. Lambert \date 01/02/2007 \version 1.5 \remarks This source code copyright (C) 2005, 2006, 2007 by Jon A. Lambert All rights reserved. Use governed by the MurkMUD++ public license found in license.murk++ */ #include "os.hpp" #include "symbols.hpp" bool SymbolTable::add(std::string symbol, int value) { if (kv.find(symbol) != kv.end() || vk.find(value) != vk.end()) return false; kv.insert (std::map<std::string, int>::value_type (symbol, value)); vk.insert (std::map<int, std::string>::value_type (value, symbol)); return true; } std::string SymbolTable::lookup(int value) { std::map<int, std::string>::iterator p_val; p_val = vk.find(value); if (p_val != vk.end()) return (*p_val).second; return ""; } int SymbolTable::lookup(std::string symbol) { std::map<std::string, int>::iterator p_val; p_val = kv.find(symbol); if (p_val != kv.end()) return (*p_val).second; return -1; }