6 #include <msp/datafile/objectloader.h>
7 #include <msp/io/base.h>
27 const Type *type = nullptr;
28 std::string default_value;
36 std::vector<Field> fields;
39 Struct(const std::string &, Kind);
41 const std::vector<Field> &get_fields() const { return fields; }
43 void define_type(Msp::IO::Base &) const;
44 void define_loader(Msp::IO::Base &) const;
45 void define_functions(Msp::IO::Base &) const;
48 class Struct::Loader: public Msp::DataFile::ObjectLoader<Struct>
54 Loader(Struct &, const SetupGen &);
57 void init_actions() override;
59 void field(const Msp::DataFile::Symbol &, const Msp::DataFile::Symbol &);