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:
|
|
|
|
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_
|