ReXGlue SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
xam_object.h
Go to the documentation of this file.
1
10
11
#pragma once
12
13
#include <memory>
14
#include <type_traits>
15
16
#include <
rex/types.h
>
17
18
namespace
rex::kernel
{
19
20
class
IXAMObject
{
21
public
:
22
virtual
~IXAMObject
() =
default
;
23
25
[[nodiscard]]
virtual
u32
GetTag
()
const
= 0;
26
};
27
28
struct
XAMObject {
29
explicit
XAMObject(std::unique_ptr<IXAMObject> body_in) : body(std::move(body_in)) {}
30
31
std::unique_ptr<IXAMObject> body;
32
};
33
39
template
<
typename
T>
40
concept
XAMObjectClass
= std::is_base_of_v<IXAMObject, T> &&
requires
{ T::kTag; };
41
42
}
// namespace rex::kernel
rex::kernel::IXAMObject
Definition
xam_object.h:20
rex::kernel::IXAMObject::GetTag
virtual u32 GetTag() const =0
rex::kernel::XAMObjectClass
Definition
xam_object.h:40
rex::kernel
Definition
export.h:24
types.h
Integer types, byte order wrappers and size literals.
rex
kernel
object
xam_object.h
Generated by
1.18.0