Wire Sysio
Wire Sysion 1.0.0
Loading...
Searching...
No Matches
stack_elem.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <sysio/vm/opcodes.hpp>
4
#include <sysio/vm/variant.hpp>
5
6
#include <cstdint>
7
8
namespace
sysio
{
namespace
vm {
9
10
class
operand_stack_elem
:
public
variant
<i32_const_t, i64_const_t, f32_const_t, f64_const_t> {
11
public
:
12
using
variant
<i32_const_t, i64_const_t, f32_const_t, f64_const_t>
::variant
;
13
inline
int32_t
&
to_i32
() & {
return
get<i32_const_t>
().data.i; }
14
inline
uint32_t
&
to_ui32
() & {
return
get<i32_const_t>
().data.ui; }
15
inline
float
&
to_f32
() & {
return
get<f32_const_t>
().data.f; }
16
inline
uint32_t
&
to_fui32
() & {
return
get<f32_const_t>
().data.ui; }
17
18
inline
int64_t
&
to_i64
() & {
return
get<i64_const_t>
().data.i; }
19
inline
uint64_t
&
to_ui64
() & {
return
get<i64_const_t>
().data.ui; }
20
inline
double
&
to_f64
() & {
return
get<f64_const_t>
().data.f; }
21
inline
uint64_t
&
to_fui64
() & {
return
get<f64_const_t>
().data.ui; }
22
23
inline
int32_t
to_i32
() const & {
return
get<i32_const_t>
().data.i; }
24
inline
uint32_t
to_ui32
() const & {
return
get<i32_const_t>
().data.ui; }
25
inline
float
to_f32
() const & {
return
get<f32_const_t>
().data.f; }
26
inline
uint32_t
to_fui32
() const & {
return
get<f32_const_t>
().data.ui; }
27
28
inline
int64_t
to_i64
() const & {
return
get<i64_const_t>
().data.i; }
29
inline
uint64_t
to_ui64
() const & {
return
get<i64_const_t>
().data.ui; }
30
inline
double
to_f64
() const & {
return
get<f64_const_t>
().data.f; }
31
inline
uint64_t
to_fui64
() const & {
return
get<f64_const_t>
().data.ui; }
32
33
};
34
}}
// nameo::vm
sysio::vm::operand_stack_elem
Definition
stack_elem.hpp:10
sysio::vm::operand_stack_elem::to_ui32
uint32_t & to_ui32() &
Definition
stack_elem.hpp:14
sysio::vm::operand_stack_elem::to_f64
double to_f64() const &
Definition
stack_elem.hpp:30
sysio::vm::operand_stack_elem::to_ui32
uint32_t to_ui32() const &
Definition
stack_elem.hpp:24
sysio::vm::operand_stack_elem::to_ui64
uint64_t to_ui64() const &
Definition
stack_elem.hpp:29
sysio::vm::operand_stack_elem::to_i64
int64_t to_i64() const &
Definition
stack_elem.hpp:28
sysio::vm::operand_stack_elem::to_ui64
uint64_t & to_ui64() &
Definition
stack_elem.hpp:19
sysio::vm::operand_stack_elem::to_fui32
uint32_t & to_fui32() &
Definition
stack_elem.hpp:16
sysio::vm::operand_stack_elem::to_i32
int32_t & to_i32() &
Definition
stack_elem.hpp:13
sysio::vm::operand_stack_elem::to_fui64
uint64_t & to_fui64() &
Definition
stack_elem.hpp:21
sysio::vm::operand_stack_elem::to_fui64
uint64_t to_fui64() const &
Definition
stack_elem.hpp:31
sysio::vm::operand_stack_elem::to_f32
float to_f32() const &
Definition
stack_elem.hpp:25
sysio::vm::operand_stack_elem::to_i64
int64_t & to_i64() &
Definition
stack_elem.hpp:18
sysio::vm::operand_stack_elem::to_f32
float & to_f32() &
Definition
stack_elem.hpp:15
sysio::vm::operand_stack_elem::to_i32
int32_t to_i32() const &
Definition
stack_elem.hpp:23
sysio::vm::operand_stack_elem::to_f64
double & to_f64() &
Definition
stack_elem.hpp:20
sysio::vm::operand_stack_elem::to_fui32
uint32_t to_fui32() const &
Definition
stack_elem.hpp:26
sysio::vm::variant
Definition
variant.hpp:162
sysio::vm::variant< i32_const_t, i64_const_t, f32_const_t, f64_const_t >::get
constexpr const auto & get() const &
Definition
variant.hpp:208
sysio::vm::variant< i32_const_t, i64_const_t, f32_const_t, f64_const_t >::variant
variant()=default
sysio
Definition
abi_serializer.cpp:8
int64_t
signed __int64 int64_t
Definition
stdint.h:135
uint32_t
unsigned int uint32_t
Definition
stdint.h:126
int32_t
signed int int32_t
Definition
stdint.h:123
uint64_t
unsigned __int64 uint64_t
Definition
stdint.h:136
libraries
sys-vm
include
sysio
vm
stack_elem.hpp
Generated by
1.12.0