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