Search code examples
hashtabledetacheiffel

Detachable element in ensure, Eiffel


How can I ensure that an element is in my HASH_TABLE, if it is detachable?

Current = HASH_TABLE[ARRAYED_SET[G], G]

add_edge (src: G; dst: G)
do
    if attached Current.at(src) as edges then
        edges.put(dst)
    end
ensure
    in: Current.at (src).has (dst)
end

Solution

  • Have you try that:

    add_edge (src: G; dst: G)
    do
        if attached Current.at(src) as edges then
            edges.put(dst)
        end
    ensure
        in: attached Current.at (src) as edges implies edges.has (dst)
    end