#pragma once

#include <string>
#include <memory>


class CircuitElement
{
public:
    enum class Type
    {
        INPUT_TERMINAL,
        OUTPUT_TERMINAL,
        WIRE,
        LOGIC_GATE,
        FANOUT,
        UNKNOWN
    };

    virtual ~CircuitElement() = default;

    virtual CircuitElement::Type getType() const = 0;
};





