2#ifndef LIBSBX_SCRIPTING_MANAGED_ATRIBUTE_HPP_
3#define LIBSBX_SCRIPTING_MANAGED_ATRIBUTE_HPP_
5#include <libsbx/scripting/managed/core.hpp>
6#include <libsbx/scripting/managed/string.hpp>
7#include <libsbx/scripting/managed/type.hpp>
9namespace sbx::scripting::managed {
20 auto get_type() ->
type&;
22 template<
typename Return>
23 auto get_field_value(std::string_view field_name) -> Return {
24 auto result = Return{};
26 _get_field_value_internal(field_name, &result);
33 auto _get_field_value_internal(std::string_view field_name,
void* value)
const -> void;
36 type* _type =
nullptr;
41auto attribute::get_field_value<std::string>(std::string_view field_name) -> std::string;
44auto attribute::get_field_value<bool>(std::string_view field_name) -> bool;
Definition: attribute.hpp:11
Definition: field_info.hpp:14
Definition: method_info.hpp:14
Definition: property_info.hpp:14