← Documentation
ADS-IDAC Engine 5.0.0
InitiatingEventController.h
Go to the documentation of this file.
1#pragma once
2
10
11#include <iostream>
12#include <typeinfo>
13#include <memory>
14#include <boost/serialization/vector.hpp>
15#include <boost/serialization/unique_ptr.hpp>
16#include <boost/archive/text_iarchive.hpp>
17#include <boost/archive/text_oarchive.hpp>
18#include "InitiatingEventUnit.h"
21#include <boost/serialization/export.hpp>
22
24public:
27 void readInfoFromFile();
34 void saveInitiatingEventControllerToFile(std::ofstream &);
36 std::vector<std::unique_ptr<InitiatingEventUnit>> initiating_event;
37 std::vector<std::unique_ptr<InitiatingEventFTUnit>> initiating_event_ft;
38 std::vector<std::unique_ptr<SupportSystemInitiatingEventUnit>> support_system_initiating_event;
39
40private:
42
44 template<class Archive>
45 void serialize(Archive &ar, const unsigned int version) {
46// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
48 ar & initiating_event; // Ensure InitiatingEventUnit is serializable
49 ar & initiating_event_ft; // Ensure InitiatingEventFTUnit is serializable
50 ar & support_system_initiating_event; // Ensure SupportSystemInitiatingEventUnit is serializable
51 }
52};
53
54
55BOOST_CLASS_EXPORT_KEY(InitiatingEventController)
std::vector< std::unique_ptr< InitiatingEventFTUnit > > initiating_event_ft
std::vector< std::unique_ptr< InitiatingEventUnit > > initiating_event
std::vector< std::unique_ptr< SupportSystemInitiatingEventUnit > > support_system_initiating_event
void saveInitiatingEventControllerToFile(std::ofstream &)
void serialize(Archive &ar, const unsigned int version)
friend class boost::serialization::access
void retrieveInitiatingEventControllerFromFile(std::ifstream &)
void copyInitiatingEventController(InitiatingEventController &)