#pragma once #include "actiondep.h" #include "merrors.h" using michlib::message; using michlib::Error; template concept MirrorSupported = requires(T t, const CLArgs& args) { { t.Mirror(args) } -> std::convertible_to; }; ADD_ACTION(Mirror, mirror, MirrorSupported); template MString ActionMirror::DoAction(const CLArgs& args, D& data) { auto res = data.Mirror(args); if(!res) return "Mirroring failed"; return ""; };