9template <
typename TCpuAccessor,
typename TItOps>
class InstrToMnemonic :
public IInstrToMnemonic {
11 using RegOps =
typename TCpuAccessor::Reg;
12 using SRegOps =
typename TCpuAccessor::SReg;
13 InstrToMnemonic(
const TCpuAccessor &cpua,
const Instr &instr) : cpua_(cpua), instr_(instr) {}
14 ~InstrToMnemonic() =
default;
15 InstrToMnemonic(
const InstrToMnemonic &r_src) =
delete;
16 InstrToMnemonic &operator=(
const InstrToMnemonic &r_src) =
delete;
17 InstrToMnemonic(InstrToMnemonic &&r_src) =
delete;
18 InstrToMnemonic &operator=(InstrToMnemonic &&r_src) =
delete;
20 void Build(
char *buf, std::size_t buf_len)
const override {
21 MnemonicBuilder::Build<TCpuAccessor, TItOps, RegOps, SRegOps>(cpua_, instr_, buf, buf_len);
25 const TCpuAccessor &cpua_;