5 struct no_class_specific_data;
6 struct spell_hex_data_type;
7 struct smith_data_type;
8 struct force_trainer_data_type;
9 struct bluemage_data_type;
10 struct magic_eater_data_type;
11 struct bard_data_type;
12 struct mane_data_type;
14 struct samurai_data_type;
15 struct monk_data_type;
16 struct ninja_data_type;
18 class PlayerClassSpecificDataWriter {
20 void operator()(const no_class_specific_data &) const {}
21 void operator()(const std::shared_ptr<spell_hex_data_type> &spell_hex_data) const;
22 void operator()(const std::shared_ptr<smith_data_type> &smith_data) const;
23 void operator()(const std::shared_ptr<force_trainer_data_type> &force_trainer_data) const;
24 void operator()(const std::shared_ptr<bluemage_data_type> &bluemage_data) const;
25 void operator()(const std::shared_ptr<magic_eater_data_type> &magic_eater_data) const;
26 void operator()(const std::shared_ptr<bard_data_type> &bird_data) const;
27 void operator()(const std::shared_ptr<mane_data_type> &mane_data) const;
28 void operator()(const std::shared_ptr<SniperData> &sniper_data) const;
29 void operator()(const std::shared_ptr<samurai_data_type> &samurai_data) const;
30 void operator()(const std::shared_ptr<monk_data_type> &monk_data) const;
31 void operator()(const std::shared_ptr<ninja_data_type> &ninja_data) const;