aboutsummaryrefslogtreecommitdiff
path: root/NodeOutput.h
blob: 83a8b343a213e1b5c06a3045c6ad73995e74f03a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include "Node.h"

class NodeOutput : public Node {
public:
	NodeOutput();
	NodeOutput(const NodeOutput * prototype);
	~NodeOutput() = default;

	virtual void sim();
	virtual SignalLevel level();
	virtual NodeOutput * clone() const;
	virtual void setOutput(Net *);


private:
	using Node::Node;
	constexpr static const char * type = "probe";
	static NodeOutput instance;

private:
	SignalLevel input;

public:
	virtual void accept(NodeVisitor & visitor) { visitor.visit(*this); }
};