Refureku v2.2.0
C++17 runtime reflection library.
TemplateTemplateArgument.h
1
8#pragma once
9
10#include "Refureku/TypeInfo/Archetypes/Template/TemplateArgument.h"
11
12namespace rfk
13{
14 //Forward declaration
15 class ClassTemplate;
16
18 {
19 public:
20 REFUREKU_API TemplateTemplateArgument(ClassTemplate const* value) noexcept;
21 REFUREKU_API ~TemplateTemplateArgument() noexcept;
22
29 RFK_NODISCARD REFUREKU_API ClassTemplate const* getClassTemplate() const noexcept;
30
39 RFK_NODISCARD REFUREKU_API bool operator==(TemplateTemplateArgument const& other) const noexcept;
40 RFK_NODISCARD REFUREKU_API bool operator!=(TemplateTemplateArgument const& other) const noexcept;
41
42 protected:
43 //Forward declaration
44 class TemplateTemplateArgumentImpl;
45
46 RFK_GEN_GET_PIMPL(TemplateTemplateArgumentImpl, TemplateArgument::getPimpl())
47 };
48}
Definition: ClassTemplate.h:24
Definition: TemplateArgument.h:19
Definition: TemplateTemplateArgument.h:18
RFK_NODISCARD REFUREKU_API ClassTemplate const * getClassTemplate() const noexcept
Get the class template provided as argument. It can be nullptr if the class template is not a reflect...
Definition: Allocator.h:16