← Documentation
ADS-IDAC Engine 5.0.0
BranchGoal.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <typeinfo>
5// BranchGoal.h: interface for the BranchGoal class.
6//
8
9#include <fstream>
10#include <boost/serialization/export.hpp>
11
12#include "../Crew/Communication.h"
13#include "../Crew/DecisionGoal.h"
14#include "../CalculationAid/TimerAndProbability.h"
15// Boost serialization includes
16#include <boost/archive/text_oarchive.hpp>
17#include <boost/archive/text_iarchive.hpp>
18#include <boost/serialization/base_object.hpp>
19#include <boost/serialization/access.hpp>
20
21class BranchGoal :
22 public DecisionGoal,
23 public TimerAndProbability,
24 public Communication
25{
26public:
27 BranchGoal();
28 virtual ~BranchGoal();
30 void saveInfoToFile(std::ostream &);
31 std::string translateMessage();
32 void saveBranchGoalToFile(std::ofstream &);
33 void retrieveBranchGoalFromFile(std::ifstream &);
35 template<class Archive>
36 void serialize(Archive & ar, const unsigned int version) {
37// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
38 // serialize base class information
39 ar & boost::serialization::base_object<DecisionGoal>(*this);
40 ar & boost::serialization::base_object<TimerAndProbability>(*this);
41 ar & boost::serialization::base_object<Communication>(*this);
42
43 // Add any members from BranchGoal itself if they are present and need to be serialized.
44 }
45};
46
47
48BOOST_CLASS_EXPORT_KEY(BranchGoal)
void saveInfoToFile(std::ostream &)
Definition: BranchGoal.cpp:52
std::string translateMessage()
Definition: BranchGoal.cpp:34
void serialize(Archive &ar, const unsigned int version)
Definition: BranchGoal.h:36
void saveBranchGoalToFile(std::ofstream &)
Definition: BranchGoal.cpp:56
void retrieveBranchGoalFromFile(std::ifstream &)
Definition: BranchGoal.cpp:61
virtual ~BranchGoal()
Definition: BranchGoal.cpp:25
void copyBranchGoal(BranchGoal &)
Definition: BranchGoal.cpp:29
friend class boost::serialization::access
Definition: BranchGoal.h:34