← Documentation
ADS-IDAC Engine 5.0.0
BranchProcedureActionTimeUnit.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <typeinfo>
5// BranchProcedureActionTimeUnit.h: interface for the BranchProcedureActionTimeUnit class.
6//
8
9#include <string>
10#include <vector>
11#include <fstream>
12#include <boost/archive/text_oarchive.hpp>
13#include <boost/archive/text_iarchive.hpp>
14#include <boost/serialization/string.hpp>
15#include <boost/serialization/vector.hpp>
16#include <boost/serialization/export.hpp>
17
18
20{
21public:
24 void setProcedureName(std::string);
25 void setStepName(std::string);
26 void setActionName(std::string);
27 void setNumOfBranches(int);
28 std::string getProcedureName();
29 std::string getStepName();
30 std::string getActionName();
31 int getNumOfBranches();
32 void addProbability(double);
33 void addTimeRatio(double);
35 void saveBranchProcedureActionTimeUnitToFile(std::ofstream &);
37 void readInfoFromFile(std::ifstream &);
39 std::vector<double> probabilities;
40 std::vector<double> time_ratio;
41 bool checkIfBranchesNeedToBeGenerated(std::string, std::string, std::string);
42 template<class Archive>
43 void serialize(Archive & ar, const unsigned int version) {
44// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
45 // Serialize this class's members
46 ar & procedure_name;
47 ar & step_name;
48 ar & action_name;
49 ar & num_of_branches;
50 ar & probabilities;
51 ar & time_ratio;
52 }
53private:
56};
57
58
59BOOST_CLASS_EXPORT_KEY(BranchProcedureActionTimeUnit)
void copyBranchProcedureActionTimeUnit(BranchProcedureActionTimeUnit &)
bool checkIfBranchesNeedToBeGenerated(std::string, std::string, std::string)
void retrieveBranchProcedureActionTimeUnitFromFile(std::ifstream &)
void serialize(Archive &ar, const unsigned int version)
void saveBranchProcedureActionTimeUnitToFile(std::ofstream &)