#pragma once #include // Current-client pointer-vector snapshot; this policy never writes native state. namespace dnf90 { struct UiIteratorSnapshot { uintptr_t owner, proxy, iteratorProxy, proxyOwner, begin, end, current; }; inline bool CanAdvanceUiIterator(const UiIteratorSnapshot& s) { return s.owner != 0 && s.proxy != 0 && s.iteratorProxy == s.proxy && s.proxyOwner == s.owner && s.begin != 0 && s.end >= s.begin && s.current >= s.begin && s.current < s.end && (s.end - s.begin) % 4 == 0 && (s.current - s.begin) % 4 == 0; } }