00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SST_TIMEVORTEX_H
00014 #define SST_TIMEVORTEX_H
00015
00016 #include <set>
00017
00018 #include <sst/core/activityQueue.h>
00019
00020 namespace SST {
00021
00022 class TimeVortex : public ActivityQueue {
00023 public:
00024 TimeVortex();
00025 ~TimeVortex();
00026
00027 bool empty();
00028 int size();
00029 void insert(Activity* activity);
00030 Activity* pop();
00031 Activity* front();
00032
00033 private:
00034 std::multiset<Activity*,Activity::less_time_priority> data;
00035
00036 friend class boost::serialization::access;
00037 template<class Archive>
00038 void
00039 serialize(Archive & ar, const unsigned int version )
00040 {
00041 printf("begin TimeVortex::serialize\n");
00042 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(ActivityQueue);
00043 printf(" - TimeVortex::data\n");
00044 ar & BOOST_SERIALIZATION_NVP(data);
00045 printf("end TimeVortex::serialize\n");
00046 }
00047 };
00048
00049 }
00050
00051 BOOST_CLASS_EXPORT_KEY(SST::TimeVortex)
00052
00053 #endif // SST_TIMEVORTEX_H