|
|
template<typename T , typename... Args> |
| SharedPtr< T > | makeShared (Args &&... args) |
| |
|
template<typename T , typename... Args> |
| UniquePtr< T > | makeUnique (Args &&... args) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Property const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Property const *, rfk::Allocator< Property const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Archetype const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Archetype const *, rfk::Allocator< Archetype const * > >) |
| |
| template<typename T > |
| Enum const * | getEnum () noexcept |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Enum const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Enum const *, rfk::Allocator< Enum const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< EnumValue const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< EnumValue const *, rfk::Allocator< EnumValue const * > >) |
| |
| template<typename T > |
| Archetype const * | getArchetype () noexcept |
| | Get the archetype of any type if it exists. Note that this method will always return nullptr on protected/private nested archetypes. If a cv-qualified, pointer/reference, array type is passed, they are all ignored and the raw type archetype is returned. Example: int* -> int, int[2] -> int, const volatile int -> int, int& -> int. More...
|
| |
| template<> |
| REFUREKU_API Archetype const * | getArchetype< void > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< std::nullptr_t > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< bool > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< char > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< signed char > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< unsigned char > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< wchar_t > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< char16_t > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< char32_t > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< short > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< unsigned short > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< int > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< unsigned int > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< long > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< unsigned long > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< long long > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< unsigned long long > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< float > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< double > () noexcept |
| |
|
template<> |
| REFUREKU_API Archetype const * | getArchetype< long double > () noexcept |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Struct const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Struct const *, rfk::Allocator< Struct const * > >) |
| |
| template<typename TargetClassType , typename SourceClassType > |
| RFK_NODISCARD TargetClassType * | dynamicCast (SourceClassType *instance) noexcept |
| | Adjust the provided pointer to another class pointer if possible. More...
|
| |
| template<typename TargetClassType > |
| RFK_NODISCARD TargetClassType * | dynamicCast (typename CopyConstness< TargetClassType, void >::Type *instance, Struct const &instanceStaticArchetype, Struct const &instanceDynamicArchetype, Struct const &targetArchetype) noexcept |
| | Adjust the pointer of the provided instance of a given static/dynamic type to a pointer to another type if possible. More...
|
| |
| template<typename TargetClassType > |
| RFK_NODISCARD TargetClassType * | dynamicUpCast (typename CopyConstness< TargetClassType, void >::Type *instance, Struct const &targetArchetype) noexcept |
| | Adjust the pointer of the provided instance of type instanceStaticArchetype to a pointer to a targetArchetype. This method only works for upcast, which means that if instanceStaticArchetype is a parent class of targetArchetype, nullptr is returned. Since the method checks only for upcast, it is theoritically faster than dynamicCast. More...
|
| |
| template<typename TargetClassType > |
| RFK_NODISCARD TargetClassType * | dynamicDownCast (typename CopyConstness< TargetClassType, void >::Type *instance, Struct const &instanceStaticArchetype, Struct const &targetArchetype) noexcept |
| | Adjust the pointer of the provided instance of type instanceStaticArchetype to a pointer to a targetArchetype. This method only works for downcast, which means that if targetArchetype is a parent class of instanceStaticArchetype, nullptr is returned. Since the method checks only for downcast, it is theoritically faster than dynamicCast. More...
|
| |
| REFUREKU_API Database const & | getDatabase () noexcept |
| | Get a reference to the database of this program. More...
|
| |
| RFK_NODISCARD REFUREKU_API Archetype const * | archetypeCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Archetype. More...
|
| |
| RFK_NODISCARD REFUREKU_API FundamentalArchetype const * | fundamentalArchetypeCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::FundamentalType. More...
|
| |
| RFK_NODISCARD REFUREKU_API Struct const * | structCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Struct. More...
|
| |
| RFK_NODISCARD REFUREKU_API StructTemplate const * | structTemplateCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::StructTemplate. More...
|
| |
| RFK_NODISCARD REFUREKU_API StructTemplateInstantiation const * | structTemplateInstantiationCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::StructTemplateInstantiation. More...
|
| |
| RFK_NODISCARD REFUREKU_API Class const * | classCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Class. More...
|
| |
| RFK_NODISCARD REFUREKU_API ClassTemplate const * | classTemplateCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::ClassTemplate. More...
|
| |
| RFK_NODISCARD REFUREKU_API ClassTemplateInstantiation const * | classTemplateInstantiationCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::ClassTemplateInstantiation. More...
|
| |
| RFK_NODISCARD REFUREKU_API Field const * | fieldCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Field. More...
|
| |
| RFK_NODISCARD REFUREKU_API StaticField const * | staticFieldCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::StaticField. More...
|
| |
| RFK_NODISCARD REFUREKU_API Method const * | methodCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Method. More...
|
| |
| RFK_NODISCARD REFUREKU_API StaticMethod const * | staticMethodCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::StaticMethod. More...
|
| |
| RFK_NODISCARD REFUREKU_API Enum const * | enumCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Enum. More...
|
| |
| RFK_NODISCARD REFUREKU_API EnumValue const * | enumValueCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::EnumValue. More...
|
| |
| RFK_NODISCARD REFUREKU_API Namespace const * | namespaceCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Namespace. More...
|
| |
| RFK_NODISCARD REFUREKU_API Variable const * | variableCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Variable. More...
|
| |
| RFK_NODISCARD REFUREKU_API Function const * | functionCast (Entity const *entity) noexcept |
| | Try to cast a rfk::Entity to rfk::Function. More...
|
| |
| template<auto FuncPtr> |
| Function const * | getFunction () noexcept |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Function const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Function const *, rfk::Allocator< Function const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Method const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Method const *, rfk::Allocator< Method const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< StaticMethod const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< StaticMethod const *, rfk::Allocator< StaticMethod const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Namespace const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Namespace const *, rfk::Allocator< Namespace const * > >) |
| |
| template<typename T > |
| Type const & | getType () noexcept |
| | Retrieve the Type object from a given type. Identical types will return the same Type object (the returned object will have the same address in memory). More...
|
| |
|
template REFUREKU_API Type const & | getType< void > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< std::nullptr_t > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< bool > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< char > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< signed char > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< unsigned char > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< wchar_t > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< char16_t > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< char32_t > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< short > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< unsigned short > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< int > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< unsigned int > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< long > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< unsigned long > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< long long > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< unsigned long long > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< float > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< double > () noexcept |
| |
|
template REFUREKU_API Type const & | getType< long double > () noexcept |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Field const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Field const *, rfk::Allocator< Field const * > >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< StaticField const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< StaticField const *, rfk::Allocator< StaticField const * > >) |
| |
| template<auto VarPtr> |
| Variable const * | getVariable () noexcept |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Allocator< Variable const * >) |
| |
|
| REFUREKU_TEMPLATE_API (rfk::Vector< Variable const *, rfk::Allocator< Variable const * > >) |
| |
Copyright (c) 2021 Julien SOYSOUVANH - All Rights Reserved
This file is part of the Refureku library project which is released under the MIT License. See the LICENSE.md file for full license details.
Copyright (c) 2020 Julien SOYSOUVANH - All Rights Reserved
This file is part of the Refureku library project which is released under the MIT License. See the LICENSE.md file for full license details.
Copyright (c) 2022 Julien SOYSOUVANH - All Rights Reserved
This file is part of the Refureku library project which is released under the MIT License. See the LICENSE.md file for full license details.