#include <arion/common/global_defs.hpp>#include <arion/common/global_excepts.hpp>#include <arion/utils/host_utils.hpp>#include <arion/utils/type_utils.hpp>#include <cstdint>#include <map>#include <memory>#include <sstream>#include <stack>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | arion_poly_struct::POLYMORPHIC_STRUCT_CONSTRAINT |
| Structure defining an architecture constraint for a field in a polymorphic struct. More... | |
| struct | arion_poly_struct::POLYMORPHIC_STRUCT_FIELD |
| Structure defining a field within a polymorphic struct, including its constraints and type metadata. More... | |
| class | arion_poly_struct::PolymorphicStruct |
| Represents a single instance of a polymorphic structure, storing its field values dynamically. More... | |
| class | arion_poly_struct::PolymorphicStructFactory< T > |
| class | arion_poly_struct::AbsArionStructType |
| Abstract base class providing common utilities for structure types that interact with emulated memory. More... | |
| class | arion_poly_struct::ArionStructType< T > |
| class | arion_poly_struct::ArionVariableStructType |
Namespaces | |
| namespace | arion_poly_struct |
Typedefs | |
| using | arion_poly_struct::STRUCT_ID = uint64_t |
| Type definition for a unique ID assigned to a managed polymorphic struct instance. | |
Enumerations | |
| enum | arion_poly_struct::POLYMORPHIC_STRUCT_FIELD_TYPE { arion_poly_struct::V8 , arion_poly_struct::V16 , arion_poly_struct::V32 , arion_poly_struct::V64 , arion_poly_struct::PTR_SZ , arion_poly_struct::A8 , arion_poly_struct::A16 , arion_poly_struct::A32 , arion_poly_struct::A64 , arion_poly_struct::PTR_ARR } |
| Enumeration for specifying the size and type of a polymorphic structure field. More... | |
Variables | |
| std::map< arion::CPU_ARCH, uint8_t > | arion_poly_struct::ALIGN_BY_ARCH |
| Map defining the required memory alignment (in bytes) based on the CPU architecture. | |
| std::map< arion::CPU_ARCH, uint8_t > | arion_poly_struct::PTR_SZ_BY_ARCH |
| Map defining the size of a pointer (in bytes) based on the CPU architecture. | |
| std::map< arion::CPU_ARCH, uint16_t > | arion_poly_struct::ARCH_SZ |
| Map defining the architecture size (in bits) based on the CPU architecture. | |