EVMC
|
#include <evmc.hpp>
Public Member Functions | |
VM (evmc_vm *vm) noexcept | |
Converting constructor from evmc_vm. | |
~VM () noexcept | |
Destructor responsible for automatically destroying the VM instance. | |
VM (const VM &)=delete | |
VM & | operator= (const VM &)=delete |
VM (VM &&other) noexcept | |
Move constructor. | |
VM & | operator= (VM &&other) noexcept |
Move assignment operator. | |
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. | |
operator bool () const noexcept | |
Checks if contains a valid pointer to the VM instance. | |
bool | is_abi_compatible () const noexcept |
Checks whenever the VM instance is ABI compatible with the current EVMC API. | |
char const * | name () const noexcept |
The name of the EVMC VM implementation. | |
char const * | version () const noexcept |
The version of the EVMC VM implementation, e.g. | |
bool | has_capability (evmc_capabilities capability) const noexcept |
Checks if the VM has the given capability. | |
evmc_capabilities_flagset | get_capabilities () const noexcept |
A method returning capabilities supported by the VM instance. | |
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. | |
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. | |
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. | |
Result | execute (evmc_revision rev, const evmc_message &msg, const uint8_t *code, size_t code_size) noexcept |
Executes code without the Host context. | |
evmc_vm * | get_raw_pointer () const noexcept |
Returns the pointer to C EVMC struct representing the VM. | |
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 660 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 765 of file evmc.hpp.
|
inlinenoexcept |
Executes code in the VM instance.
Definition at line 717 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 745 of file evmc.hpp.
|
inlinenoexcept |
Convenient variant of the VM::execute() that takes reference to evmc::Host class.
Definition at line 728 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 705 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 759 of file evmc.hpp.
|
inlinenoexcept |
Checks if the VM has the given capability.
Definition at line 699 of file evmc.hpp.
|
inlinenoexcept |
Checks whenever the VM instance is ABI compatible with the current EVMC API.
Definition at line 690 of file evmc.hpp.
|
inlinenoexcept |
|
inlineexplicitnoexcept |
Move assignment operator.
Definition at line 673 of file evmc.hpp.
|
inlinenoexcept |
Sets the option for the VM, if the feature is supported by the VM.
Definition at line 711 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 696 of file evmc.hpp.