#pragma once
#include "NodeData.hpp"
#include "memory.hpp"

#include <functional>
namespace QtNodes
{
    using SharedNodeData = std::shared_ptr<NodeData>;
    // a function taking in NodeData and returning NodeData
    using TypeConverter = std::function<SharedNodeData(SharedNodeData)>;
    // data-type-in, data-type-out
    using TypeConverterId = std::pair<NodeDataTypeId, NodeDataTypeId>;
} // namespace QtNodes
