← Documentation
ADS-IDAC Engine 5.0.0
ManeuverAction.h
Go to the documentation of this file.
1#include <iostream>
2#include <typeinfo>
3// ManeuverAction.h
4#pragma once
5
6#include <memory>
7#include <vector>
8#include <fstream>
9#include <string>
10#include "ManeuverActionUnit.h"
11#include <boost/serialization/serialization.hpp>
12#include <boost/serialization/vector.hpp>
13#include <boost/serialization/unique_ptr.hpp>
14#include <boost/serialization/export.hpp>
15#include <boost/archive/text_oarchive.hpp>
16#include <boost/archive/text_iarchive.hpp>
17
18class Operator;
19
21public:
23 virtual ~ManeuverAction();
24 void readInfoFromFile(int);
26 void saveManeuverActionToFile(std::ofstream &);
27 void retrieveManeuverActionFromFile(std::ifstream &);
30 void activateManeuverUnit(std::string);
31 std::vector<std::unique_ptr<ManeuverActionUnit>> maneuver_list;
32
33private:
34 // Grant serialization access
36
37 template<class Archive>
38 void serialize(Archive & ar, const unsigned int version) {
39// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
40 ar & maneuver_list;
41 // Note: Ensure ManeuverActionUnit is also serializable
42 }
43};
void activateManeuverUnit(std::string)
void readInfoFromFile(int)
void serialize(Archive &ar, const unsigned int version)
void clearManeuverAction()
void retrieveManeuverActionFromFile(std::ifstream &)
void saveManeuverActionToFile(std::ofstream &)
friend class boost::serialization::access
void copyManeuverAction(ManeuverAction &)
virtual ~ManeuverAction()
std::vector< std::unique_ptr< ManeuverActionUnit > > maneuver_list
void checkAndExecuteManeuverUnit(Operator &)