← Documentation
ADS-IDAC Engine 5.0.0
AnalysisInfoContainer.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <typeinfo>
5#include <memory>
6#include <boost/serialization/vector.hpp>
7#include <boost/serialization/unique_ptr.hpp>
8#include <boost/archive/text_iarchive.hpp>
9#include <boost/archive/text_oarchive.hpp>
10#include <fstream>
11#include <vector>
14#include "../ReasonMachine/AnalysisScanDataContainerUnit.h"
15#include "../Crew/KBScannedParameters.h"
16#include <boost/serialization/export.hpp>
17#include <boost/archive/text_oarchive.hpp>
18#include <boost/archive/text_iarchive.hpp>
19
20
22public:
24 virtual ~AnalysisInfoContainer();
25 void addRecord(std::string, int);
26 void addRecordWithTime(double, std::string);
28 void addScanQueueData(double, int, KBScannedParameters &);
29 void saveInfoToFile();
30 void saveInfoToFile(std::string strDirName, int iSeqNum);
35 void saveAnalysisInfoContainerToFile(std::ofstream &);
36 void retrieveAnalysisInfoContainerFromFile(std::ifstream &);
37 const std::vector<std::unique_ptr<AnalysisInfoContainerUnit>>& getRecords() const { return record; }
38
39private:
40 std::vector<std::unique_ptr<AnalysisInfoContainerUnit>> record;
41 std::vector<std::unique_ptr<AnalysisProcedureDataContainerUnit>> procedure_step_data;
42 std::vector<std::unique_ptr<AnalysisScanDataContainerUnit>> scan_data;
43
45 template<class Archive>
46 void serialize(Archive &ar, const unsigned int version) {
47// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
48 ar & record; // Ensure AnalysisInfoContainerUnit is serializable
49 ar & procedure_step_data; // Ensure AnalysisProcedureDataContainerUnit is serializable
50 ar & scan_data; // Ensure AnalysisScanDataContainerUnit is serializable
51 }
52};
53
54
55BOOST_CLASS_EXPORT_KEY(AnalysisInfoContainer)
void copyAnalysisInfoContainer(AnalysisInfoContainer &)
void retrieveAnalysisInfoContainerFromFile(std::ifstream &)
void addRecord(std::string, int)
void serialize(Archive &ar, const unsigned int version)
std::vector< std::unique_ptr< AnalysisInfoContainerUnit > > record
void saveInfoToFile(std::string strDirName, int iSeqNum)
void addScanQueueData(double, int, KBScannedParameters &)
void addProcedureData(AnalysisProcedureDataContainerUnit)
void addRecordWithTime(double, std::string)
std::vector< std::unique_ptr< AnalysisProcedureDataContainerUnit > > procedure_step_data
void saveAnalysisInfoContainerToFile(std::ofstream &)
std::vector< std::unique_ptr< AnalysisScanDataContainerUnit > > scan_data
friend class boost::serialization::access
const std::vector< std::unique_ptr< AnalysisInfoContainerUnit > > & getRecords() const
void copyAnalysisInfoContainerForRestart(AnalysisInfoContainer &)