• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/core/timeVortex.h

00001 // Copyright 2009-2010 Sandia Corporation. Under the terms
00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
00003 // Government retains certain rights in this software.
00004 // 
00005 // Copyright (c) 2009-2010, Sandia Corporation
00006 // All rights reserved.
00007 // 
00008 // This file is part of the SST software package. For license
00009 // information, see the LICENSE file in the top level directory of the
00010 // distribution.
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

Generated on Fri Oct 22 2010 11:02:21 for SST by  doxygen 1.7.1