mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-20 22:05:12 +00:00
orbis: initial physical memory emulation support (not used)
avoid unconditional linux specific types/api usage
This commit is contained in:
parent
07b1f422ef
commit
9fc036d9a5
23 changed files with 831 additions and 67 deletions
|
|
@ -505,6 +505,16 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
iterator &operator--() {
|
||||
--it;
|
||||
|
||||
if (it->second.isClose()) {
|
||||
--it;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool operator==(iterator other) const { return it == other.it; }
|
||||
bool operator!=(iterator other) const { return it != other.it; }
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,8 @@ namespace detail {
|
|||
template <typename ClassT> struct SerializableFieldTest {
|
||||
template <typename FieldT>
|
||||
requires(std::is_default_constructible_v<FieldT> &&
|
||||
!std::is_same_v<FieldT, ClassT> && detail::IsSerializable<FieldT>)
|
||||
!std::is_same_v<std::remove_cvref_t<FieldT>, ClassT> &&
|
||||
detail::IsSerializable<FieldT>)
|
||||
constexpr operator FieldT();
|
||||
};
|
||||
|
||||
|
|
@ -121,20 +122,6 @@ struct SerializableAnyFieldTest {
|
|||
template <typename FieldT> constexpr operator FieldT();
|
||||
};
|
||||
|
||||
template <typename T, std::size_t I> constexpr bool isSerializableField() {
|
||||
auto impl = []<std::size_t... Before, std::size_t... After>(
|
||||
std::index_sequence<Before...>,
|
||||
std::index_sequence<After...>) {
|
||||
return requires {
|
||||
T{(Before, SerializableAnyFieldTest{})..., SerializableFieldTest<T>{},
|
||||
(After, SerializableAnyFieldTest{})...};
|
||||
};
|
||||
};
|
||||
|
||||
return impl(std::make_index_sequence<I>{},
|
||||
std::make_index_sequence<rx::fieldCount<T> - I - 1>{});
|
||||
}
|
||||
|
||||
template <typename T> constexpr bool isSerializableFields() {
|
||||
auto impl = []<std::size_t... I>(std::index_sequence<I...>) {
|
||||
return requires { T{(I, SerializableFieldTest<T>{})...}; };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue