#include <simics/base/conf-object.h>
#include <string>
#include <type_traits>
#include "simics/attribute-type-string.h"
#include "simics/detail/attribute-getter.h"
#include "simics/detail/attribute-setter.h"
Go to the source code of this file.
|
| #define | GET_MACRO(_1, _2, NAME, ...) NAME |
| | MACRO take either 1 or 2 arguments.
|
| |
| #define | IMPL(str) str |
| | VA_ARGS is treated as single parameter in MSVC, use this as a workaround
|
| |
| #define | ATTR_GETTER(...) IMPL(GET_MACRO(__VA_ARGS__, _G_DUAL, _G_SINGLE)(__VA_ARGS__)) |
| | MACROs convert the get/set function or variable access to function attr_getter and attr_setter.
|
| |
| #define | ATTR_SETTER(...) IMPL(GET_MACRO(__VA_ARGS__, _S_DUAL, _S_SINGLE)(__VA_ARGS__)) |
| |
| #define | ATTR_CLS_VAR(CLASS, VAR) simics::AttributeAccessor<CLASS, decltype(&CLASS::VAR), &CLASS::VAR>() |
| |
| #define | ATTR_TYPE_STR(VAR) simics::attr_type_str<decltype(VAR)>() |
| | Get the Simics attribute string from a variable's C++ type.
|
| |
◆ ATTR_CLS_VAR
◆ ATTR_GETTER
MACROs convert the get/set function or variable access to function attr_getter and attr_setter.
◆ ATTR_SETTER
◆ ATTR_TYPE_STR
Get the Simics attribute string from a variable's C++ type.
◆ GET_MACRO
| #define GET_MACRO |
( |
|
_1, |
|
|
|
_2, |
|
|
|
NAME, |
|
|
|
... |
|
) |
| NAME |
MACRO take either 1 or 2 arguments.
◆ IMPL
VA_ARGS is treated as single parameter in MSVC, use this as a workaround