NanoTekSpice
DigitalElectronics
Output.hpp
1 /*
2 ** EPITECH PROJECT, 2019
3 ** OOP_NanoTekSpice
4 ** File description:
5 ** Output class
6 */
7 
8 #ifndef OUTPUT_HPP_
9  #define OUTPUT_HPP_
10 
11 #include "Component.hpp"
12 #include <iostream>
13 #include <map>
14 
16 {
17  public:
18  Output();
19  ~Output();
20 
21  nts::Tristate compute(std::size_t pin = 1) override;
22  void setLink(std::size_t pin , nts::IComponent &other, std::size_t otherPin) override;
23  void dump() const noexcept override;
24 
25 
26  void setInput(std::size_t pin, nts::IComponent &other, std::size_t otherPin) final;
27  void setOutput(std::size_t pin, nts::IComponent &other, std::size_t otherPin) final;
28 
29  void displayState(std::size_t pin) const noexcept override;
30 
31  private:
32 
33  std::map<size_t, nts::Pin> _input;
34 };
35 
36 #endif /* !OUTPUT_HPP_ */
Definition: Component.hpp:19
Definition: Output.hpp:15
Definition: IComponent.hpp:18