""" ==(e1::Edge, e2::Edge) Equality comparison between two edges. """ function ==(e1::Edge, e2::Edge) return e1.edge[1] == e2.edge[1] && e1.edge[2] == e2.edge[2] end """ ==(n1::Node, n2::Node) Fallback equality comparison between two nodes. For equal node types, the more specific versions of this function will be called. """ function ==(n1::Node, n2::Node) return false end """ ==(n1::ComputeTaskNode, n2::ComputeTaskNode) Equality comparison between two [`ComputeTaskNode`](@ref)s. """ function ==(n1::ComputeTaskNode{TaskType}, n2::ComputeTaskNode{TaskType}) where {TaskType <: AbstractComputeTask} return n1.id == n2.id end """ ==(n1::DataTaskNode, n2::DataTaskNode) Equality comparison between two [`DataTaskNode`](@ref)s. """ function ==(n1::DataTaskNode{TaskType}, n2::DataTaskNode{TaskType}) where {TaskType <: AbstractDataTask} return n1.id == n2.id end