Refureku v2.2.0
C++17 runtime reflection library.
FieldBase.h
1
8#pragma once
9
10#include "Refureku/TypeInfo/Variables/VariableBase.h"
11#include "Refureku/TypeInfo/Variables/EFieldFlags.h"
12#include "Refureku/TypeInfo/EAccessSpecifier.h"
13
14namespace rfk
15{
16 //Forward declaration
17 class Struct;
18
19 class FieldBase : public VariableBase
20 {
21 public:
27 RFK_NODISCARD REFUREKU_API EAccessSpecifier getAccess() const noexcept;
28
35 RFK_NODISCARD REFUREKU_API bool isStatic() const noexcept;
36
42 RFK_NODISCARD REFUREKU_API bool isMutable() const noexcept;
43
49 RFK_NODISCARD REFUREKU_API EFieldFlags getFlags() const noexcept;
50
56 RFK_NODISCARD REFUREKU_API Struct const* getOwner() const noexcept;
57
58 protected:
59 //Forward declaration
60 class FieldBaseImpl;
61
62 REFUREKU_INTERNAL FieldBase(FieldBaseImpl* implementation) noexcept;
63 REFUREKU_INTERNAL FieldBase(FieldBase&&) noexcept;
64 REFUREKU_INTERNAL ~FieldBase() noexcept;
65
66 RFK_GEN_GET_PIMPL(FieldBaseImpl, Entity::getPimpl())
67 };
68}
Definition: Entity.h:29
Definition: FieldBase.h:20
RFK_NODISCARD REFUREKU_API bool isMutable() const noexcept
Check whether this field is mutable or not.
RFK_NODISCARD REFUREKU_API EAccessSpecifier getAccess() const noexcept
Get the access specifier of this field in its owner struct/class.
RFK_NODISCARD REFUREKU_API Struct const * getOwner() const noexcept
Get the struct owning this field.
RFK_NODISCARD REFUREKU_API EFieldFlags getFlags() const noexcept
Get the flags qualifying this field.
RFK_NODISCARD REFUREKU_API bool isStatic() const noexcept
Check whether this field is static or not. If the field is static, it can safely be cast to StaticFie...
Definition: Struct.h:40
Definition: VariableBase.h:20
Definition: Allocator.h:16
EFieldFlags
Definition: EFieldFlags.h:16