FSM Library - C++ version
IOListContainer.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_TREES_IOLISTCONTAINER_H_
7 #define FSM_TREES_IOLISTCONTAINER_H_
8 
9 #include <memory>
10 #include <vector>
11 
12 #include "fsm/Trace.h"
13 #include "interface/FsmPresentationLayer.h"
14 
16 {
17 private:
21  std::shared_ptr<std::vector<std::vector<int>>> iolLst;
22 
26  const std::shared_ptr<FsmPresentationLayer> presentationLayer;
27 
34  bool isLastLst(const int maxInput, const std::vector<int>& lst) const;
35 
45  std::vector<int> nextLst(const int maxInput, const std::vector<int>& lst) const;
46 public:
52  IOListContainer(const std::shared_ptr<std::vector<std::vector<int>>> iolLst, const std::shared_ptr<FsmPresentationLayer> presentationLayer);
53 
64  IOListContainer(const int maxInput, const int minLength, const int maxLenght, const std::shared_ptr<FsmPresentationLayer> presentationLayer);
65 
70  std::shared_ptr<std::vector<std::vector<int>>> getIOLists() const;
71 
76  void add(const Trace & trc);
77 
82  int size() const;
83 
90  friend std::ostream & operator<<(std::ostream & out, const IOListContainer & ot);
91 };
92 #endif //FSM_TREES_IOLISTCONTAINER_H_
void add(const Trace &trc)
Definition: IOListContainer.cpp:83
int size() const
Definition: IOListContainer.cpp:88
IOListContainer(const std::shared_ptr< std::vector< std::vector< int >>> iolLst, const std::shared_ptr< FsmPresentationLayer > presentationLayer)
Definition: IOListContainer.cpp:52
std::shared_ptr< std::vector< std::vector< int > > > getIOLists() const
Definition: IOListContainer.cpp:78
Definition: Trace.h:14
Definition: IOListContainer.h:15
friend std::ostream & operator<<(std::ostream &out, const IOListContainer &ot)
Definition: IOListContainer.cpp:93