10#include "Refureku/TypeInfo/Archetypes/Struct.h"
16 class TemplateArgument;
17 class ClassTemplateInstantiation;
20 using StructTemplateInstantiation = ClassTemplateInstantiation;
27 std::size_t memorySize,
68 void* userData) const;
79 class ClassTemplateInstantiationImpl;
81 RFK_GEN_GET_PIMPL(ClassTemplateInstantiationImpl,
Entity::getPimpl())
Definition: Archetype.h:16
Definition: ClassTemplate.h:24
Definition: ClassTemplateInstantiation.h:23
RFK_NODISCARD REFUREKU_API ClassTemplate const & getClassTemplate() const noexcept
Get the class template this instantiation is based on.
RFK_NODISCARD REFUREKU_API TemplateArgument const & getTemplateArgumentAt(std::size_t index) const noexcept
Retrieve the template argument at the given index. If index is greater or equal to getTemplateArgumen...
REFUREKU_API bool foreachTemplateArgument(Visitor< TemplateArgument > visitor, void *userData) const
Execute the given visitor on all template arguments of this class.
REFUREKU_API void addTemplateArgument(TemplateArgument const &argument) noexcept
Add a template argument to this instantiation.
RFK_NODISCARD REFUREKU_API std::size_t getTemplateArgumentsCount() const noexcept
Get the total number of template arguments in this instantiation.
Definition: TemplateArgument.h:19
Definition: Allocator.h:16
bool(*)(T const &value, void *userData) Visitor
Visitor function.
Definition: Visitor.h:21