Files
pico-loader/arm9/source/patches/FunctionSignature.h
2025-11-23 17:14:17 +01:00

29 lines
1.1 KiB
C++

#pragma once
#include "SdkVersion.h"
/// @brief Class representing a function signature with a minimum and maximum SDK version.
class FunctionSignature
{
public:
consteval FunctionSignature(const u32 pattern[4], SdkVersion minSdkVersion, SdkVersion maxSdkVersion)
: _pattern { pattern[0], pattern[1], pattern[2], pattern[3] }
, _minSdkVersion(minSdkVersion), _maxSdkVersion(maxSdkVersion) { }
/// @brief Returns the pattern of the function signature.
/// @return The pattern of the function signature.
constexpr const u32* GetPattern() const { return _pattern; }
/// @brief Returns the minimum SDK version of this function signature.
/// @return The minimum SDK version of this function signature.
constexpr SdkVersion GetMinimumSdkVersion() const { return _minSdkVersion; }
/// @brief Returns the maximum SDK version of this function signature.
/// @return The maximum SDK version of this function signature.
constexpr SdkVersion GetMaximumSdkVersion() const { return _maxSdkVersion; }
private:
const u32 _pattern[4];
const SdkVersion _minSdkVersion;
const SdkVersion _maxSdkVersion;
};