Refureku v2.2.0
C++17 runtime reflection library.
ParentStruct.h
1
8#pragma once
9
10#include "Refureku/Config.h"
11#include "Refureku/TypeInfo/EAccessSpecifier.h"
12
13namespace rfk
14{
15 //Forward declaration
16 class Struct;
17
19 {
20 public:
21 REFUREKU_INTERNAL ParentStruct(Struct const& archetype,
22 EAccessSpecifier inheritanceAccessSpecifier) noexcept;
23 REFUREKU_INTERNAL ParentStruct(ParentStruct const&) = delete;
24 REFUREKU_INTERNAL ParentStruct(ParentStruct&&) noexcept;
25 REFUREKU_INTERNAL ~ParentStruct() noexcept;
26
32 RFK_NODISCARD REFUREKU_API Struct const& getArchetype() const noexcept;
33
39 RFK_NODISCARD REFUREKU_API EAccessSpecifier getInheritanceAccessSpecifier() const noexcept;
40
41 REFUREKU_INTERNAL ParentStruct& operator=(ParentStruct const&) = delete;
42 REFUREKU_INTERNAL ParentStruct& operator=(ParentStruct&&) noexcept;
43
44 private:
46 Struct const* _archetype;
47
49 EAccessSpecifier _inheritanceAccessSpecifier;
50 };
51}
Definition: ParentStruct.h:19
RFK_NODISCARD REFUREKU_API Struct const & getArchetype() const noexcept
Get the archetype of the parent struct.
RFK_NODISCARD REFUREKU_API EAccessSpecifier getInheritanceAccessSpecifier() const noexcept
Get the inheritance access specifier used when inheriting this struct.
Definition: Struct.h:40
Definition: Allocator.h:16