You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#pragma once
|
|
|
|
#include "actiondep.h"
|
|
|
|
#include "merrors.h"
|
|
|
|
|
|
|
|
using michlib::message;
|
|
|
|
using michlib::Error;
|
|
|
|
|
|
|
|
template<class T>
|
|
|
|
concept MirrorSupported = requires(T t, const CLArgs& args) {
|
|
|
|
{
|
|
|
|
t.Mirror(args)
|
|
|
|
} -> std::convertible_to<Error>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ADD_ACTION(Mirror, mirror, MirrorSupported<Source>);
|
|
|
|
|
|
|
|
template<class D> MString ActionMirror::DoAction(const CLArgs& args, D& data)
|
|
|
|
{
|
|
|
|
auto res = data.Mirror(args);
|
|
|
|
if(!res) return "Mirroring failed";
|
|
|
|
return "";
|
|
|
|
};
|