1 #ifndef SIPLASPLAS_REFLECTION_DYNAMIC_RUNTIME_HPP 2 #define SIPLASPLAS_REFLECTION_DYNAMIC_RUNTIME_HPP 4 #include "namespace.hpp" 9 namespace dynamic_reflection
16 class SIPLASPLAS_REFLECTION_DYNAMIC_EXPORT
Runtime 28 Runtime(
const std::string& name);
40 void reset(
const std::string& name);
57 Namespace& namespace_(
const std::string& fullName);
67 bool hasEntity(
const std::string& fullName)
const;
77 Entity& getEntity(
const std::string& fullName);
91 template<
typename EntityType>
94 return EntityType::fromEntity(getEntity(fullName).pointer());
106 void addEntity(
const std::shared_ptr<Entity>& entity);
111 const std::string& name()
const;
115 std::unordered_map<std::string, std::shared_ptr<Entity>> _entities;
122 #endif // SIPLASPLAS_REFLECTION_DYNAMIC_RUNTIME_HPP Definition: canary_allocator.hpp:7
Stores dynamic reflection information of a namespace.
Definition: namespace.hpp:19
Provides access to dynamic type and function information at runtime.
Definition: runtime.hpp:16
EntityType & getEntity(const std::string &fullName)
Returns a reference to the specified entity.
Definition: runtime.hpp:92
Represents a C++ semantic entity (Class, function, namespace, etc) and manages its dynamic reflection...
Definition: entity.hpp:22