SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PCTypeMap.cpp
Go to the documentation of this file.
1 /****************************************************************************/
7 // A storage for type mappings
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
10 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #ifdef _MSC_VER
26 #include <windows_config.h>
27 #else
28 #include <config.h>
29 #endif
30 
31 #include <string>
32 #include <map>
33 #include "PCTypeMap.h"
34 
35 #ifdef CHECK_MEMORY_LEAKS
36 #include <foreign/nvwa/debug_new.h>
37 #endif // CHECK_MEMORY_LEAKS
38 
39 
40 // ===========================================================================
41 // method definitions
42 // ===========================================================================
44 
45 
47 
48 
49 bool
50 PCTypeMap::add(const std::string& id, const std::string& newid,
51  const std::string& color, const std::string& prefix,
52  int layer, bool discard, bool allowFill) {
53  if (has(id)) {
54  return false;
55  }
56  TypeDef td;
57  td.id = newid;
58  td.color = color;
59  td.layer = layer;
60  td.discard = discard;
61  td.allowFill = allowFill;
62  td.prefix = prefix;
63  myTypes[id] = td;
64  return true;
65 }
66 
67 
68 const PCTypeMap::TypeDef&
69 PCTypeMap::get(const std::string& id) {
70  return myTypes.find(id)->second;
71 }
72 
73 
74 bool
75 PCTypeMap::has(const std::string& id) {
76  return myTypes.find(id) != myTypes.end();
77 }
78 
79 
80 
81 /****************************************************************************/
82