67 const std::function<
bool(
const Gate*)>& target_gate_filter,
68 bool continue_on_match =
false,
69 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
70 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
88 const std::function<
bool(
const Gate*)>& target_gate_filter,
89 bool continue_on_match =
false,
90 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
91 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
109 const std::function<
bool(
const Gate*)>& target_gate_filter,
110 bool continue_on_mismatch =
false,
111 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
112 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
130 const std::function<
bool(
const Gate*)>& target_gate_filter,
131 bool continue_on_mismatch =
false,
132 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
133 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
149 Result<std::set<Gate*>> get_next_matching_gates_until_depth(
const Net*
net,
bool successors,
u32 max_depth,
const std::function<
bool(
const Gate*)>& target_gate_filter =
nullptr)
const;
165 Result<std::set<Gate*>> get_next_matching_gates_until_depth(
const Gate* gate,
bool successors,
u32 max_depth,
const std::function<
bool(
const Gate*)>& target_gate_filter =
nullptr)
const;
180 get_next_sequential_gates(
const Net*
net,
bool successors,
const std::set<PinType>& forbidden_pins = {}, std::unordered_map<const Net*, std::set<Gate*>>* cache =
nullptr)
const;
195 get_next_sequential_gates(
const Gate* gate,
bool successors,
const std::set<PinType>& forbidden_pins = {}, std::unordered_map<const Net*, std::set<Gate*>>* cache =
nullptr)
const;
222 get_next_combinational_gates(
const Net*
net,
bool successors,
const std::set<PinType>& forbidden_pins = {}, std::unordered_map<const Net*, std::set<Gate*>>* cache =
nullptr)
const;
238 get_next_combinational_gates(
const Gate* gate,
bool successors,
const std::set<PinType>& forbidden_pins = {}, std::unordered_map<const Net*, std::set<Gate*>>* cache =
nullptr)
const;
253 const Gate* end_gate,
255 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
256 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
271 const Gate* end_gate,
273 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& exit_endpoint_filter =
nullptr,
274 const std::function<
bool(
const Endpoint*,
u32 current_depth)>& entry_endpoint_filter =
nullptr)
const;
std::vector< Gate * > get_next_sequential_gates(const Gate *gate, bool get_successors, std::unordered_map< u32, std::vector< Gate * >> &cache)
std::vector< Gate * > get_shortest_path(Gate *start_gate, Gate *end_gate, bool search_both_directions=false)