FSM Library - C++ version
Trace.h
1 /*
2  * Copyright. GaĆ«l Dottel, Christoph Hilken, and Jan Peleska 2016 - 2021
3  *
4  * Licensed under the EUPL V.1.1
5  */
6 #ifndef FSM_FSM_TRACE_H_
7 #define FSM_FSM_TRACE_H_
8 
9 #include <memory>
10 #include <vector>
11 
12 #include "interface/FsmPresentationLayer.h"
13 
14 class Trace
15 {
16 protected:
20  std::vector<int> trace;
21 
25  const std::shared_ptr<FsmPresentationLayer> presentationLayer;
26 public:
31  Trace(const std::shared_ptr<FsmPresentationLayer> presentationLayer);
32 
38  Trace(const std::vector<int>& trace, const std::shared_ptr<FsmPresentationLayer> presentationLayer);
39 
43  void add(const int e);
44 
49  std::vector<int> get() const;
50 
55  std::vector<int>::const_iterator cbegin() const;
56 
61  std::vector<int>::const_iterator cend() const;
62 
69  friend bool operator==(Trace const & trace1, Trace const & trace2);
70 
77  friend std::ostream & operator<<(std::ostream & out, const Trace & trace);
78 };
79 #endif //FSM_FSM_TRACE_H_
std::vector< int >::const_iterator cbegin() const
Definition: Trace.cpp:30
friend bool operator==(Trace const &trace1, Trace const &trace2)
Definition: Trace.cpp:40
void add(const int e)
Definition: Trace.cpp:20
std::vector< int >::const_iterator cend() const
Definition: Trace.cpp:35
Definition: Trace.h:14
Trace(const std::shared_ptr< FsmPresentationLayer > presentationLayer)
Definition: Trace.cpp:8
std::vector< int > trace
Definition: Trace.h:20
const std::shared_ptr< FsmPresentationLayer > presentationLayer
Definition: Trace.h:25
friend std::ostream & operator<<(std::ostream &out, const Trace &trace)
Definition: Trace.cpp:57