libmicroemu 0.2.0
ARM Microcontroller Emulator Library
Loading...
Searching...
No Matches
decoder.h
1#pragma once
2
3#include "libmicroemu/internal/decoder/op_decoders.h"
4#include "libmicroemu/internal/fetcher/raw_instr.h"
6#include "libmicroemu/internal/utils/bit_manip.h"
7#include "libmicroemu/types.h"
8#include <cstddef>
9#include <cstdint>
10
11namespace libmicroemu::internal {
12
13template <typename TCpuStates, typename TItOps> class Decoder {
14public:
15 static Result<Instr> Decode(TCpuStates &cpua, RawInstr instr) {
16 auto result = call_decoder<TCpuStates, TItOps>(instr, cpua);
17 return result;
18 }
19
20private:
24 Decoder() = delete;
25
29 ~Decoder() = delete;
30
35 Decoder &operator=(const Decoder &r_src) = delete;
36
41 Decoder(Decoder &&r_src) = delete;
42
47 Decoder &operator=(Decoder &&r_src) = delete;
48};
49
50} // namespace libmicroemu::internal
The libmicroemu::internal namespace contains all classes and functions of libmicroemu which are priva...
Definition bkpt_flags.h:6
Contains the Result class which is used to return the result of a function.
Definition raw_instr.h:7
Definition result.h:15