00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TORC_PLACER_DEVICEWRAPPER_HPP
00020 #define TORC_PLACER_DEVICEWRAPPER_HPP
00021
00022 #include "torc/architecture/DDB.hpp"
00023 #include "torc/placer/PlacementSiteTypeMapping.hpp"
00024
00025 namespace torc {
00026 namespace placer {
00027
00028
00029
00030 class DeviceWrapper {
00031 protected:
00032
00033 typedef architecture::DDB DDB;
00034 typedef architecture::Sites Sites;
00035 typedef boost::uint32_t uint32;
00036
00037
00038 typedef std::vector<uint32> InstanceTypeToCandidateTypeMap;
00039
00040 typedef architecture::Site Site;
00041 typedef std::vector<const Site*> SitePtrVector;
00042 typedef std::vector<SitePtrVector> SitePtrVectorVector;
00043 typedef std::vector<SitePtrVectorVector> SitePtrVectorVectorVector;
00044
00045 typedef std::set<Site*> SitePtrSet;
00046 typedef std::vector<SitePtrSet> SitePtrSetVector;
00047 typedef std::vector<SitePtrSetVector> SitePtrSetVectorVector;
00048
00049 public:
00050 DDB& mDB;
00051 public:
00052 const Sites& mSites;
00053 PlacementSiteTypeMapping& mTypeMapping;
00054
00055
00056 public:
00057 DeviceWrapper(DDB& inDB, PlacementSiteTypeMapping& inMapping)
00058 : mDB(inDB), mSites(inDB.getSites()), mTypeMapping(inMapping) {
00059
00060 }
00061 ~DeviceWrapper() {}
00062
00063 };
00064 }
00065 }
00066
00067 #endif // TORC_PLACER_DEVICEWRAPPER_HPP