Refureku v2.2.0
C++17 runtime reflection library.
TemplateTemplateParameter.h
1
8#pragma once
9
10#include "Refureku/TypeInfo/Archetypes/Template/TemplateParameter.h"
11#include "Refureku/Misc/Visitor.h"
12
13namespace rfk
14{
16 {
17 public:
18 REFUREKU_API TemplateTemplateParameter(char const* name) noexcept;
19 REFUREKU_API ~TemplateTemplateParameter() noexcept;
20
26 RFK_NODISCARD REFUREKU_API std::size_t getTemplateParametersCount() const noexcept;
27
36 RFK_NODISCARD REFUREKU_API TemplateParameter const* getTemplateParameterAt(std::size_t index) const noexcept;
37
50 void* userData) const;
51
57 REFUREKU_API void addTemplateParameter(TemplateParameter const& param) noexcept;
58
59 private:
60 //Forward declaration
61 class TemplateTemplateParameterImpl;
62
63 RFK_GEN_GET_PIMPL(TemplateTemplateParameterImpl, TemplateParameter::getPimpl())
64 };
65}
Definition: TemplateParameter.h:18
Definition: TemplateTemplateParameter.h:16
RFK_NODISCARD REFUREKU_API std::size_t getTemplateParametersCount() const noexcept
Get the number of template parameters of this template template parameter.
REFUREKU_API bool foreachTemplateParameter(Visitor< TemplateParameter > visitor, void *userData) const
Execute the given visitor on all template parameters.
REFUREKU_API void addTemplateParameter(TemplateParameter const &param) noexcept
Add a template parameter to this template template parameter.
RFK_NODISCARD REFUREKU_API TemplateParameter const * getTemplateParameterAt(std::size_t index) const noexcept
Get the template parameter at the specified index. If index is >= getTemplateParametersCount(),...
Definition: Allocator.h:16
bool(*)(T const &value, void *userData) Visitor
Visitor function.
Definition: Visitor.h:21