00001
00002
00003
00004
00005
00006
00007
00008 #ifndef INSTANTIATIONID_H_
00009 #define INSTANTIATIONID_H_
00010
00011 #include <vector>
00012 #include <map>
00013 #include "quantities/Name.h"
00014 #include "quantities/Position.h"
00015 #include "environment/onchipcommunication/InstallationSite.h"
00016 #include "include/CosiGlobal.h"
00017
00018 namespace cosi {
00019
00020 namespace rules {
00021
00022 namespace onchipcommunication {
00023
00024 using namespace cosi::environment::onchipcommunication ;
00025 using namespace std ;
00026
00027 class InstantiationId {
00028
00029 public:
00030
00031 InstantiationId(int Nip, std::vector< InstallationSite > InstallationSites,
00032 std::vector<Name> IdType);
00033
00034 virtual ~InstantiationId();
00035
00036 int Id(Name pName, Position pP);
00037
00038 Name GetName( int V ) ;
00039
00040 Position GetPosition( int V ) ;
00041
00042
00043 private:
00044 std::vector< InstallationSite > mInstallationSites;
00045 std::map<Position,int> mId;
00046 int mNip;
00047 std::vector<Name> mIdType;
00048 std::map<Name,int> mTypeId;
00049
00050 };
00051
00052 }
00053
00054 }
00055
00056 }
00057
00058 #endif