Used code snipped donated by szaszmango - which uses vectors to create
the CPU objects
This commit is contained in:
parent
63815adecc
commit
cfa53d4fc3
@ -3,27 +3,27 @@
|
|||||||
/* this function's Incoming arguments are a pointer to the CPU class
|
/* this function's Incoming arguments are a pointer to the CPU class
|
||||||
"CPU *pCPU" and the new mainclock speed
|
"CPU *pCPU" and the new mainclock speed
|
||||||
*/
|
*/
|
||||||
void setCPUmainclock(CPU *pCPU, string mkey, string mmainclock) {
|
void setCPUmainclock(CPU *pCPU, std::string mkey, std::string mmainclock) {
|
||||||
pCPU->HardwareSpecs[mkey] = mmainclock;
|
pCPU->HardwareSpecs[mkey] = mmainclock;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCPUboostclock(CPU *pCPU, string mkey, string mboostclock) {
|
void setCPUboostclock(CPU *pCPU, std::string mkey, std::string mboostclock) {
|
||||||
pCPU->HardwareSpecs[mkey] = mboostclock;
|
pCPU->HardwareSpecs[mkey] = mboostclock;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCPUarch(CPU *pCPU, string mkey, std::string march) {
|
void setCPUarch(CPU *pCPU, std::string mkey, std::string march) {
|
||||||
pCPU->HardwareSpecs[mkey] = march;
|
pCPU->HardwareSpecs[mkey] = march;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCPUbits(CPU *pCPU, string mkey, int mbits) {
|
void setCPUbits(CPU *pCPU, std::string mkey, int mbits) {
|
||||||
pCPU->HardwareSpecs[mkey] = mbits;
|
pCPU->HardwareSpecs[mkey] = mbits;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCPUcores(CPU *pCPU, string mkey, int mcores) {
|
void setCPUcores(CPU *pCPU, std::string mkey, int mcores) {
|
||||||
pCPU->HardwareSpecs[mkey] = mcores;
|
pCPU->HardwareSpecs[mkey] = mcores;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCPUthreads(CPU *pCPU, string mkey, int mthreads) {
|
void setCPUthreads(CPU *pCPU, std::string mkey, int mthreads) {
|
||||||
pCPU->HardwareSpecs[mkey] = mthreads;
|
pCPU->HardwareSpecs[mkey] = mthreads;
|
||||||
// create an IF catch to set threads cores * 2 as a fall back
|
// create an IF catch to set threads cores * 2 as a fall back
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
/* this function's Incoming arguments are a pointer to the Hardware class
|
/* this function's Incoming arguments are a pointer to the Hardware class
|
||||||
"Hardware *pHardware" and the new mainclock speed
|
"Hardware *pHardware" and the new mainclock speed
|
||||||
*/
|
*/
|
||||||
void setHardwaremanufacturer(Hardware *pHardware, string mmanufacturer) {
|
void setHardwaremanufacturer(Hardware *pHardware, std::string mmanufacturer) {
|
||||||
// cout << "Coming from the setHardwaremanufacturer function in setHardware" << endl;
|
// cout << "Coming from the setHardwaremanufacturer function in setHardware" << endl;
|
||||||
|
|
||||||
pHardware->manufacturer = mmanufacturer;
|
pHardware->manufacturer = mmanufacturer;
|
||||||
@ -14,11 +14,11 @@ void setHardwarereleasedyear(Hardware *pHardware, int mreleasedyear) {
|
|||||||
pHardware->releasedyear = mreleasedyear;
|
pHardware->releasedyear = mreleasedyear;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setHardwaremodel(Hardware *pHardware, string mmodel) {
|
void setHardwaremodel(Hardware *pHardware, std::string mmodel) {
|
||||||
pHardware->model = mmodel;
|
pHardware->model = mmodel;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Hardwaredictadd(CPU *pHardware, string mkey, string mvalue) {
|
void Hardwaredictadd(CPU *pHardware, std::string mkey, std::string mvalue) {
|
||||||
|
|
||||||
// cout << "The incoming key/value is: " << mkey << "/" << mvalue << endl;
|
// cout << "The incoming key/value is: " << mkey << "/" << mvalue << endl;
|
||||||
// cout << "\nThe current manufacturer is: " << pHardware->HardwareSpecs[mkey] << endl;
|
// cout << "\nThe current manufacturer is: " << pHardware->HardwareSpecs[mkey] << endl;
|
||||||
|
|||||||
47
lists/cpu.h
47
lists/cpu.h
@ -1,39 +1,28 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "hardware.h"
|
#include <vector>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
using namespace std;
|
/*
|
||||||
string line;
|
* THIS PORTION OF CODE WAS DONATED BY szaszmango from brodie's server!
|
||||||
string& line2 = line;
|
*/
|
||||||
|
|
||||||
void genCPUclasses() {
|
// This magic returns a vector which contain all the objects created using the CPU class
|
||||||
fstream cpuList;
|
std::vector<CPU> genCPUclasses() {
|
||||||
cpuList.open("lists/cpulist", ios::in);
|
std::vector<CPU> resultCpuList;
|
||||||
|
std::ifstream cpuList{"lists/cpulist", std::ifstream::in};
|
||||||
|
|
||||||
if(cpuList.is_open()) {
|
if(cpuList.is_open()) {
|
||||||
cout << "File opened\n";
|
std::cout << "File opened\n";
|
||||||
}
|
}
|
||||||
else { cout << "Failed to open file!" << endl; }
|
else { std::cout << "Failed to open file!\n"; }
|
||||||
|
|
||||||
while (getline(cpuList, line)) {
|
std::string line;
|
||||||
// cout << line << endl;
|
while (std::getline(cpuList, line)) {
|
||||||
line2 = line;
|
CPU cpu;
|
||||||
CPU *line = new CPU;
|
cpu.HardwareSpecs["model"] = line;
|
||||||
// BEGIN troubleshoot
|
resultCpuList.push_back(std::move(cpu));
|
||||||
line->HardwareSpecs["model"] = line2;
|
std::cout << "Loaded CPU: " << line << std::endl;
|
||||||
// cout << line->HardwareSpecs["model"] << endl;
|
|
||||||
cout << line2 << endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cpuList.close();
|
return resultCpuList;
|
||||||
};
|
}
|
||||||
|
|
||||||
// CPU *A7800x3d = new CPU;
|
|
||||||
// CPU *Ii75820k = new CPU;
|
|
||||||
|
|
||||||
|
|
||||||
// std::string a7800x3d(std::string man){
|
|
||||||
// CPU A7800x3d;
|
|
||||||
// A7800x3d.manufacturer = "AMD";
|
|
||||||
// return man;
|
|
||||||
// };
|
|
||||||
|
|||||||
@ -1,19 +0,0 @@
|
|||||||
std::vector<CPU> genCPUclasses() {
|
|
||||||
std::vector<CPU> resultCpuList;
|
|
||||||
std::ifstream cpuList{"lists/cpulist", std::ifstream::in};
|
|
||||||
|
|
||||||
if(cpuList.is_open()) {
|
|
||||||
std::cout << "File opened\n";
|
|
||||||
}
|
|
||||||
else { std::cout << "Failed to open file!\n"; }
|
|
||||||
|
|
||||||
while (std::getline(cpuList, line)) {
|
|
||||||
CPU cpu;
|
|
||||||
cpu.HardwareSpecs["model"] = line;
|
|
||||||
resultCpuList.push_back(std::move(cpu));
|
|
||||||
// cout << cpu.HardwareSpecs["model"] << '\n';
|
|
||||||
cout << line << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
return resultCpuList;
|
|
||||||
}
|
|
||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
// #define class struct // Uncomment this line to switch all the classes to structs
|
// #define class struct // Uncomment this line to switch all the classes to structs
|
||||||
|
|
||||||
using namespace std;
|
// using namespace std;
|
||||||
|
|
||||||
class Hardware {
|
class Hardware {
|
||||||
|
|
||||||
@ -70,6 +70,6 @@ class CPU: public Hardware {
|
|||||||
|
|
||||||
class GPU: public Hardware {
|
class GPU: public Hardware {
|
||||||
public:
|
public:
|
||||||
map<std::string, GPU> GPUSpecs;
|
std::map<std::string, GPU> GPUSpecs;
|
||||||
// GPUSpecs["Ram"] = GPU { "Ram", "12Gb" };
|
// GPUSpecs["Ram"] = GPU { "Ram", "12Gb" };
|
||||||
};
|
};
|
||||||
|
|||||||
12
main.cpp
12
main.cpp
@ -7,13 +7,19 @@
|
|||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
||||||
using namespace std;
|
// using namespace std;
|
||||||
|
int counter= 0;
|
||||||
|
auto cpus = genCPUclasses();
|
||||||
|
for (CPU& cpu: cpus) {
|
||||||
|
// cpus[counter].HardwareSpecs["model"] = "value";
|
||||||
|
std::cout << cpu.HardwareSpecs["model"] << " loaded at index: " << counter << std::endl;
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
|
||||||
genCPUclasses();
|
|
||||||
|
|
||||||
//Testing the new dictionaries
|
//Testing the new dictionaries
|
||||||
// cout << "Lets try the setCPU function!\n";
|
// cout << "Lets try the setCPU function!\n";
|
||||||
// cout << "A7800x3d main clock speed is: " << line->HardwareSpecs["mainclock"] << endl;
|
// std::cout << "A7800x3d main clock speed is: " << A7800x3d->HardwareSpecs["mainclock"] << std::endl;
|
||||||
// setHardwaremanufacturer(A7800x3d, "AMD");
|
// setHardwaremanufacturer(A7800x3d, "AMD");
|
||||||
// setCPUcores(A7800x3d, "cores", 8);
|
// setCPUcores(A7800x3d, "cores", 8);
|
||||||
// setCPUthreads(A7800x3d, "threads", 16);
|
// setCPUthreads(A7800x3d, "threads", 16);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user