Project
Profiles.h
Go to the documentation of this file.
1 #ifndef PROFILES_H
2 #define PROFILES_H
3 
10 #include "Category.h"
11 #include "Criteria.h"
12 #include "Perf.h"
13 #include "PerformanceTable.h"
14 #include <iostream>
15 #include <ostream>
16 #include <string.h>
17 #include <vector>
18 
41 class Profiles : public PerformanceTable {
42 public:
52  Profiles(std::vector<std::vector<Perf>> &perf_vect,
53  std::string mode = "crit");
54 
66  Profiles(int nb_of_prof, Criteria &crits, std::string mode = "crit",
67  std::string prefix = "prof");
68 
74  Profiles(const Profiles &profiles);
75 
76  ~Profiles(){};
77 
85  friend std::ostream &operator<<(std::ostream &out, const Profiles &profs);
86 
104 
113  void generateRandomPerfValues(unsigned long int seed = time(NULL),
114  int lower_bound = 0, int upper_bound = 1);
115 
128  std::pair<std::vector<Perf>, std::vector<Perf>>
129  getBelowAndAboveProfile(std::string profName, float worst_value,
130  float best_value);
131 
140  void setPerf(std::string name, std::string crit, float value);
141 };
142 
143 #endif
Datastructure representing a category.
Datastructure representing a set of criterion.
Perf (single performance) data structure.
PerformanceTable data structure.
Set of Criterion datastructure.
Definition: Criteria.h:25
PerformanceTable data structure.
Definition: PerformanceTable.h:37
Profiles data structure.
Definition: Profiles.h:41
Profiles(std::vector< std::vector< Perf >> &perf_vect, std::string mode="crit")
friend std::ostream & operator<<(std::ostream &out, const Profiles &profs)
void generateRandomPerfValues(unsigned long int seed=time(NULL), int lower_bound=0, int upper_bound=1)
Profiles(const Profiles &profiles)
bool isProfileOrdered()
std::pair< std::vector< Perf >, std::vector< Perf > > getBelowAndAboveProfile(std::string profName, float worst_value, float best_value)
Profiles(int nb_of_prof, Criteria &crits, std::string mode="crit", std::string prefix="prof")
void setPerf(std::string name, std::string crit, float value)