SPU Controll Register
This commit is contained in:
@@ -15,13 +15,22 @@
|
||||
|
||||
#define io_class__2option_map_getter(type, option0, option1, name, bit_num) \
|
||||
io_class__2option_map(option0, option1, bit_num) \
|
||||
io_class__option_as(type, name, bit_num)
|
||||
io_class__option_get(type, name, bit_num)
|
||||
|
||||
#define io_class__option_as(type, name, bit_num) \
|
||||
#define io_class__2option_map_getter_is(type, option0, option1, bit_num) \
|
||||
io_class__2option_map(option0, option1, bit_num) \
|
||||
io_class__option_is(type, option1, bit_num)
|
||||
|
||||
#define io_class__option_get(type, name, bit_num) \
|
||||
constexpr type get_##name() const { \
|
||||
return static_cast<type>(bit::is_set(this->raw_value, bit_num)); \
|
||||
}
|
||||
|
||||
#define io_class__option_is(type, name, bit_num) \
|
||||
constexpr type is_##name() const { \
|
||||
return static_cast<type>(bit::is_set(this->raw_value, bit_num)); \
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static constexpr __always_inline void io_class__update_with(T& dst, const T& src) {
|
||||
typedef decltype(dst.raw_value) DST_VALUE;
|
||||
|
Reference in New Issue
Block a user