aboutsummaryrefslogtreecommitdiff
path: root/NodeOutput.h
blob: 8b3eb44b9ddb7e9159f90fd8484e2ae94ef56ecc (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
29
30
#pragma once

#include "Node.h"

class NodeOutput : public Node {
	using Node::Node;

public:
	NodeOutput();
	virtual ~NodeOutput() = default;
	virtual NodeOutput * clone() const;

	virtual void sim();
	virtual void setOutput(Net *);

public:
	virtual SignalLevel level();

private:
	NodeOutput(const NodeOutput * prototype);
	constexpr static const char * type = "probe";
	static NodeOutput instance;

private:
	SignalLevel input;

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