A reusable store for the results of one specific traversal, handed to NetlistTraversalDecorator::get_gates.
The traversal a cache belongs to is sealed in when it is created: the direction, the match condition, the stop rule and the endpoint filters all become part of the cache, and the cache can only ever be used for exactly that traversal. This is what makes reuse sound – an entry for a net is the complete answer for that net, so it must never be consulted by a walk that asks a different question.
Two things are excluded on purpose, because either would make the answer for a net depend on how the net was reached: there is no depth limit, and the endpoint filters receive no depth.
The cache belongs to the netlist it was created for and must be dropped when the netlist is modified, as its entries are not invalidated by netlist events.
Definition at line 98 of file netlist_traversal_decorator.h.