diff options
Diffstat (limited to 'source/20-codegen-runtime/MetadataBase.hpp')
-rw-r--r-- | source/20-codegen-runtime/MetadataBase.hpp | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/source/20-codegen-runtime/MetadataBase.hpp b/source/20-codegen-runtime/MetadataBase.hpp deleted file mode 100644 index f84a152..0000000 --- a/source/20-codegen-runtime/MetadataBase.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include <cstddef> -#include <optional> -#include <span> -#include <string_view> - -namespace Metadata { - -struct TypeId { - size_t id; -}; - -struct TypeInfo; - -struct TypePropertyInfo { - std::string_view name; - const TypeInfo* type; - std::string_view getterName; - std::string_view setterName; - - bool IsDirectAccess() const; -}; - -struct TypeMethodInfo { - std::string_view name; - // TODO -}; - -struct TypeInfo { - TypeId typeId; - std::string_view name; - std::span<const TypeInfo* const> parents; - std::span<const TypePropertyInfo> properties; - std::span<const TypeMethodInfo> methods; - - /// Whether this object is registered at runtime or statically compiled - bool dynamic = false; -}; - -// NOTE: implemented by generating specializations; not-generated ones should generated an error in the linking phase -template <typename T> -const TypeInfo* GetTypeInfo(); - -// NOTE: implemented by generating specializations -template <typename TEnum> -std::string_view EnumToString(TEnum value) = delete; - -// NOTE: implemented by generating specializations -template <typename TEnum> -std::optional<TEnum> EnumFromString(std::string_view str) = delete; - -} // namespace Metadata |