From f75703fd2b761a3e1d84c16727a8104d10ef897f Mon Sep 17 00:00:00 2001 From: Nik Date: Sun, 9 Oct 2022 17:37:37 +0200 Subject: [PATCH] includes/std: Added MagicSearch and Reinterpreter helper type --- includes/std/mem.pat | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/includes/std/mem.pat b/includes/std/mem.pat index 58dae8c..6f2f9b1 100644 --- a/includes/std/mem.pat +++ b/includes/std/mem.pat @@ -47,4 +47,26 @@ namespace std::mem { return builtin::std::mem::read_string(address, size); }; + + struct MagicSearch { + if ($ < (std::mem::size() - std::string::length(Magic) - 1)) { + char __potentialMagic__[std::string::length(Magic)] [[hidden, no_unique_address]]; + + if (__potentialMagic__ == Magic) { + T data [[inline]]; + } else { + padding[1]; + continue; + } + } else { + padding[1]; + continue; + } + }; + + union Reinterpreter { + From from; + To to; + }; + }