draconisplusplus/include/rfl/MetaField.hpp

32 lines
709 B
C++
Raw Normal View History

2024-05-31 22:59:00 -04:00
#ifndef RFL_METAFIELD_HPP_
#define RFL_METAFIELD_HPP_
#include <string>
namespace rfl {
2024-06-08 14:10:59 -04:00
/// Contains meta-information about a field in a struct.
class MetaField {
public:
2024-06-16 00:13:15 -04:00
MetaField(const std::string& _name, const std::string& _type) : name_(_name), type_(_type) {}
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
~MetaField() = default;
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
/// The name of the field we describe.
const std::string& name() const { return name_; };
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
/// The type of the field we describe.
const std::string& type() const { return type_; };
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
private:
/// The name of the field we describe.
std::string name_;
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
/// The type of the field we describe.
std::string type_;
};
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
} // namespace rfl
2024-05-31 22:59:00 -04:00
2024-06-08 14:10:59 -04:00
#endif // RFL_TAGGEDUNION_HPP_