Go to the documentation of this file.
59 handleCount_(0), lastStopCycle_(0), controller_(controller),
60 eventHandler_(eventHandler) {
111 StopPointIndex::iterator findResult =
stopPoints_.find(handle);
116 if ((*i) == handle) {
158 for (
unsigned int i = 0; i <
handles_.size(); i++) {
209 for (
unsigned int i = 0; i <
handles_.size(); i++) {
236 string msg =
"No stop point found by the given index.";
249 StopPointIndex::const_iterator containerEnd =
stopPoints_.end();
250 StopPointIndex::const_iterator findResult =
stopPoints_.find(handle);
252 if (findResult == containerEnd) {
254 std::string msg =
"No stop point found by the given handle.";
257 return *findResult->second;
321 StopPointIndex::iterator containerEnd =
stopPoints_.end();
322 StopPointIndex::iterator findResult =
stopPoints_.find(handle);
324 if (findResult == containerEnd) {
326 string msg =
"No stop point found by the given handle.";
329 return findResult->second;
346 unsigned int count = 0;
347 for (StopPointIndex::const_iterator i =
stopPoints_.begin();
349 if ((*i).second->isTriggered()) {
356 __FILE__, __LINE__,
__func__,
"Stop point index out of range.");
372 std::size_t count = 0;
373 for (StopPointIndex::const_iterator i =
stopPoints_.begin();
375 if ((*i).second->isTriggered())
396 const int handle = (*i).first;
409 toBeDeletedStopPoints.push_back(handle);
422 for (
size_t i = 0; i < toBeDeletedStopPoints.size(); ++i) {
void enableOnceAndDelete(unsigned int handle)
unsigned int handleCount_
Represents the next free handle.
virtual void setEnabled(bool flag)
TTASimulationController & controller_
The simulation controller to use to stop the simulation.
virtual void setIgnoreCount(unsigned int count)
unsigned int add(const StopPoint &stopPoint)
virtual void setDisabledAfterTriggered(bool flag)
SimulationEventHandler & eventHandler_
The event handler to use to register stop points to.
StopPointIndex stopPoints_
The stop points.
virtual bool isDeletedAfterTriggered() const
void enableOnceAndDisable(unsigned int handle)
virtual unsigned int ignoreCount() const
void deleteStopPoint(unsigned int handle)
virtual void prepareToStop(StopReason reason)
void setCondition(unsigned int handle, const ConditionScript &condition)
ClockCycleCount lastStopCycle_
The clock cycle in which simulation was stopped last.
virtual StopPoint * copy() const =0
unsigned int stopPointCount()
unsigned int stopCausingStopPoint(unsigned int index) const
StopPointManager(TTASimulationController &controller, SimulationEventHandler &eventHandler)
const StopPoint & stopPointWithHandleConst(unsigned int handle) const
void enable(unsigned int handle)
std::vector< unsigned int > HandleContainer
The handle storage.
unsigned int stopCausingStopPointCount() const
@ SRE_BREAKPOINT
Stopped because of at least one breakpoint.
virtual bool isDisabledAfterTriggered() const
void disable(unsigned int handle)
virtual bool isConditionOK()
virtual bool isEnabled() const
void removeCondition(unsigned int handle)
virtual ClockCycleCount clockCount() const
virtual bool isTriggered() const =0
virtual void removeCondition()
HandleContainer handles_
The stop point handles.
unsigned int stopPointHandle(unsigned int index)
virtual ~StopPointManager()
virtual void setDeletedAfterTriggered(bool flag)
virtual void setCondition(const ConditionScript &condition)
void setIgnore(unsigned int handle, unsigned int count)
StopPoint * findStopPoint(unsigned int handle)
virtual void decreaseIgnoreCount()
@ SE_NEW_INSTRUCTION
Generated before executing a new instructon.