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

sst/core/syncQueue.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_SYNCQUEUE_H
00014 #define SST_SYNCQUEUE_H
00015 
00016 #include <vector>
00017 
00018 #include <sst/core/activityQueue.h>
00019 
00020 namespace SST {
00021 
00022 class SyncQueue : public ActivityQueue {
00023 public:
00024     SyncQueue();
00025     ~SyncQueue();
00026 
00027     bool empty();
00028     int size();
00029     void insert(Activity* activity);
00030     Activity* pop(); // Not a good idea for this particular class
00031     Activity* front();
00032 
00033     // Not part of the ActivityQueue interface
00034     void clear();
00035     std::vector<Activity*>* getVector();
00036     
00037 private:
00038     std::vector<Activity*> data;
00039     
00040     friend class boost::serialization::access;
00041     template<class Archive>
00042     void
00043     serialize(Archive & ar, const unsigned int version )
00044     {
00045         printf("begin SyncQueue::serialize\n");
00046         ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(ActivityQueue);
00047         printf("  - SyncQueue::data\n");
00048         ar & BOOST_SERIALIZATION_NVP(data);
00049         printf("end SyncQueue::serialize\n");
00050     }
00051 };
00052 
00053 }
00054 
00055 BOOST_CLASS_EXPORT_KEY(SST::SyncQueue)
00056 
00057 #endif // SST_SYNCQUEUE_H

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