ObjectIndex_Array.h
См. документацию.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00022
00023 #ifndef ObjectIndex_Array_H_
00024 #define ObjectIndex_Array_H_
00025
00026 #include <string>
00027 #include <map>
00028 #include <ostream>
00029 #include "UniSetTypes.h"
00030 #include "Exceptions.h"
00031 #include "ObjectIndex.h"
00032
00033 namespace UniSetTypes
00034 {
00040 class ObjectIndex_Array:
00041 public ObjectIndex
00042 {
00043 public:
00044 ObjectIndex_Array(const ObjectInfo* objectInfo);
00045 virtual ~ObjectIndex_Array();
00046
00047
00048 virtual const ObjectInfo* getObjectInfo(const ObjectId);
00049 virtual const ObjectInfo* getObjectInfo( const std::string name );
00050 virtual ObjectId getIdByName(const std::string& name);
00051 virtual std::string getMapName(const ObjectId id);
00052 virtual std::string getTextName(const ObjectId id);
00053
00054 virtual std::ostream& printMap(std::ostream& os);
00055 friend std::ostream& operator<<(std::ostream& os, ObjectIndex_Array& oi );
00056
00057 private:
00058
00059 int numOfObject;
00060 typedef std::map<std::string, ObjectId> MapObjectKey;
00061 MapObjectKey::iterator MapObjectKeyIterator;
00062 MapObjectKey mok;
00063 const ObjectInfo *objectInfo;
00064 int maxId;
00065 };
00066
00067 }
00068
00069 #endif