#pragma once #include "Algorithm.hh" namespace cadabra { class zoom : public Algorithm { public: zoom(const Kernel& k, Ex& e, Ex& r, bool partial = true); virtual bool can_apply(iterator) override; virtual result_t apply(iterator&) override; private: Ex rules; std::vector to_erase; std::vector to_keep; bool partial; }; }