ReXGlue SDK
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
18namespace rex::kernel {
19
21 public:
22 virtual ~IXAMObject() = default;
23
25 [[nodiscard]] virtual u32 GetTag() const = 0;
26};
27
28struct XAMObject {
29 explicit XAMObject(std::unique_ptr<IXAMObject> body_in) : body(std::move(body_in)) {}
30
31 std::unique_ptr<IXAMObject> body;
32};
33
39template <typename T>
40concept XAMObjectClass = std::is_base_of_v<IXAMObject, T> && requires { T::kTag; };
41
42} // namespace rex::kernel
Definition xam_object.h:20
virtual u32 GetTag() const =0
Definition xam_object.h:40
Definition export.h:24
Integer types, byte order wrappers and size literals.