EVMC
|
#include <evmc.hpp>
Public Member Functions | |
VM (evmc_vm *vm) noexcept | |
Converting constructor from evmc_vm. More... | |
~VM () noexcept | |
Destructor responsible for automatically destroying the VM instance. More... | |
VM (const VM &)=delete | |
VM & | operator= (const VM &)=delete |
VM (VM &&other) noexcept | |
Move constructor. More... | |
VM & | operator= (VM &&other) noexcept |
Move assignment operator. More... | |
VM (evmc_vm *vm, std::initializer_list< std::pair< const char *, const char * > > options) noexcept | |
The constructor that captures a VM instance and configures the instance with the provided list of options. More... | |
operator bool () const noexcept | |
Checks if contains a valid pointer to the VM instance. More... | |
bool | is_abi_compatible () const noexcept |
Checks whenever the VM instance is ABI compatible with the current EVMC API. More... | |
char const * | name () const noexcept |
The name of the EVMC VM implementation. More... | |
char const * | version () const noexcept |
The version of the EVMC VM implementation, e.g. More... | |
bool | has_capability (evmc_capabilities capability) const noexcept |
Checks if the VM has the given capability. More... | |
evmc_capabilities_flagset | get_capabilities () const noexcept |
A method returning capabilities supported by the VM instance. More... | |
evmc_set_option_result | set_option (const char name[], const char value[]) noexcept |
Sets the option for the VM, if the feature is supported by the VM. More... | |
Result | execute (const evmc_host_interface &host, evmc_host_context *ctx, evmc_revision rev, const evmc_message &msg, const uint8_t *code, size_t code_size) noexcept |
Executes code in the VM instance. More... | |
Result | execute (Host &host, evmc_revision rev, const evmc_message &msg, const uint8_t *code, size_t code_size) noexcept |
Convenient variant of the VM::execute() that takes reference to evmc::Host class. More... | |
Result | execute (evmc_revision rev, const evmc_message &msg, const uint8_t *code, size_t code_size) noexcept |
Executes code without the Host context. More... | |
evmc_vm * | get_raw_pointer () const noexcept |
Returns the pointer to C EVMC struct representing the VM. More... | |
The VM instance.
This is a RAII wrapper for evmc_vm, and object of this type automatically destroys the VM instance.
|
inlineexplicitnoexcept |
|
inlinenoexcept |
Destructor responsible for automatically destroying the VM instance.
Definition at line 636 of file evmc.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
The constructor that captures a VM instance and configures the instance with the provided list of options.
Definition at line 741 of file evmc.hpp.
|
inlinenoexcept |
Executes code in the VM instance.
Definition at line 693 of file evmc.hpp.
|
inlinenoexcept |
Executes code without the Host context.
The same as execute(const evmc_host_interface&, evmc_host_context*, evmc_revision, const evmc_message&, const uint8_t*, size_t), but without providing the Host context and interface. This method is for experimental precompiles support where execution is guaranteed not to require any Host access.
Definition at line 721 of file evmc.hpp.
|
inlinenoexcept |
Convenient variant of the VM::execute() that takes reference to evmc::Host class.
Definition at line 704 of file evmc.hpp.
|
inlinenoexcept |
A method returning capabilities supported by the VM instance.
The value returned MAY change when different options are set via the set_option() method.
A Client SHOULD only rely on the value returned if it has queried it after it has called the set_option().
This is a mandatory method and MUST NOT be set to NULL.
Definition at line 681 of file evmc.hpp.
|
inlinenoexcept |
Returns the pointer to C EVMC struct representing the VM.
Gives access to the C EVMC VM struct to allow advanced interaction with the VM not supported by the C++ interface. Use as the last resort. This object still owns the VM after returning the pointer. The returned pointer MAY be null.
Definition at line 735 of file evmc.hpp.
|
inlinenoexcept |
Checks if the VM has the given capability.
Definition at line 675 of file evmc.hpp.
|
inlinenoexcept |
Checks whenever the VM instance is ABI compatible with the current EVMC API.
Definition at line 666 of file evmc.hpp.
|
inlinenoexcept |
|
inlineexplicitnoexcept |
Move assignment operator.
Definition at line 649 of file evmc.hpp.
|
inlinenoexcept |
Sets the option for the VM, if the feature is supported by the VM.
Definition at line 687 of file evmc.hpp.
|
inlinenoexcept |
The version of the EVMC VM implementation, e.g.
"1.2.3b4".
It MUST be a NULL-terminated not empty string. The content MUST be UTF-8 encoded (this implies ASCII encoding is also allowed).
Definition at line 672 of file evmc.hpp.