12#ifndef SST_CORE_IMPL_TIMEVORTEX_TIMEVORTEXPQ_H
13#define SST_CORE_IMPL_TIMEVORTEX_TIMEVORTEXPQ_H
15#include "sst/core/activity.h"
16#include "sst/core/eli/elementinfo.h"
17#include "sst/core/threadsafe.h"
18#include "sst/core/timeVortex.h"
37class TimeVortexPQBase :
public TimeVortex
42 explicit TimeVortexPQBase(
Params& params);
43 TimeVortexPQBase() =
delete;
46 bool empty()
override;
52 uint64_t getCurrentDepth()
const override {
return current_depth; }
53 uint64_t getMaxDepth()
const override {
return max_depth; }
55 void dbg_print(
Output& out)
const override;
57 void getContents(std::vector<Activity*>& activities)
const override;
63 const std::vector<Activity*>& getContainer()
const
65 struct UnderlyingContainer : dataType_t
69 return static_cast<const UnderlyingContainer&
>(data).c;
80 std::conditional_t<TS, std::atomic<uint64_t>, uint64_t> current_depth;
Class to use as the greater than operator for STL functions or sorting algorithms (used if you want t...
Definition activity.h:109
Base class for all Activities in the SST Event Queue.
Definition activity.h:48
Definition threadsafe.h:138
bool empty() override
Returns true if the queue is empty.
Definition timeVortexPQ.cc:42
int size() override
Returns the number of activities in the queue.
Definition timeVortexPQ.cc:52
void getContents(std::vector< Activity * > &activities) const override
Get a copy of the contents of the TimeVortex.
Definition timeVortexPQ.cc:112
Activity * front() override
Returns the next activity.
Definition timeVortexPQ.cc:89
Activity * pop() override
Remove and return the next activity.
Definition timeVortexPQ.cc:76
void insert(Activity *activity) override
Insert a new activity into the queue.
Definition timeVortexPQ.cc:62
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:58
Parameter store.
Definition params.h:65