| 59 | struct PatternPointerEquality { |
| 60 | template <typename P1, typename P2> |
| 61 | bool operator()(std::shared_ptr<P1> const& p1, std::shared_ptr<P2> const& p2) const { |
| 62 | return p1->hash()==p2->hash(); |
| 63 | } |
| 64 | template <typename P1, typename P2> |
| 65 | bool operator()(P1 const* p1, P2 const* p2) const { |
| 66 | return p1->hash()==p2->hash(); |