Skip to content

Commit 3aeff1f

Browse files
committed
Aliases added, to make code more clean
1 parent 7028e32 commit 3aeff1f

3 files changed

Lines changed: 37 additions & 32 deletions

File tree

Database.cpp

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@
44
#include <fstream>
55
#include <algorithm>
66

7+
using studentPtr = std::shared_ptr<Student>;
8+
using employeePtr = std::shared_ptr<Employee>;
9+
using std::dynamic_pointer_cast;
10+
711
personIter Database::searchByLastName(const std::string& lastName)
812
{
9-
auto it = std::find_if(begin(data), end(data), [lastName] (std::shared_ptr<Person> person)
13+
auto it = std::find_if(begin(data), end(data), [lastName] (personPtr person)
1014
{
1115
return person -> getLastName() == lastName;
1216
});
@@ -20,7 +24,7 @@ personIter Database::searchByLastName(const std::string& lastName)
2024

2125
personIter Database::searchByPersonalID(const unsigned long long& personalID)
2226
{
23-
auto it = std::find_if(begin(data), end(data), [personalID] (std::shared_ptr<Person> person)
27+
auto it = std::find_if(begin(data), end(data), [personalID] (personPtr person)
2428
{
2529
return person -> getPersonalID() == personalID;
2630
});
@@ -34,9 +38,9 @@ personIter Database::searchByPersonalID(const unsigned long long& personalID)
3438

3539
personIter Database::searchByStudentID(const unsigned long& studentID)
3640
{
37-
auto it = std::find_if(begin(data), end(data), [studentID] (std::shared_ptr<Person> person)
41+
auto it = std::find_if(begin(data), end(data), [studentID] (personPtr person)
3842
{
39-
std::shared_ptr<Student> student = std::dynamic_pointer_cast<Student>(person);
43+
studentPtr student = dynamic_pointer_cast<Student>(person);
4044
return student -> getStudentIndex() == studentID;
4145
});
4246

@@ -59,19 +63,19 @@ void Database::printDatabase() const
5963

6064
void Database::sortBySalary()
6165
{
62-
std::sort(begin(data), end(data), [](std::shared_ptr<Person> left, std::shared_ptr<Person> right)
66+
std::sort(begin(data), end(data), [](personPtr left, personPtr right)
6367
{
6468
//input: 10.1 NaN 2.5 NaN 3.6
6569
//output: 2.5 3.6 10.1 Nan Nan
6670

6771
//NaN 2.5 --- if student on the left: bad!
68-
if(std::dynamic_pointer_cast<Student>(left)) return false;
72+
if(dynamic_pointer_cast<Student>(left)) return false;
6973

7074
//2.5 NaN -- if student on the right: good! move all to the right
71-
if(std::dynamic_pointer_cast<Student>(right)) return true;
75+
if(dynamic_pointer_cast<Student>(right)) return true;
7276

73-
std::shared_ptr<Employee> e_left = std::dynamic_pointer_cast<Employee>(left);
74-
std::shared_ptr<Employee> e_right = std::dynamic_pointer_cast<Employee>(right);
77+
employeePtr e_left = dynamic_pointer_cast<Employee>(left);
78+
employeePtr e_right = dynamic_pointer_cast<Employee>(right);
7579
//if employee, compare it usually
7680
return e_left->getSalary() < e_right->getSalary();
7781
});
@@ -80,34 +84,34 @@ void Database::sortBySalary()
8084

8185
void Database::sortByLastName()
8286
{
83-
std::sort(begin(data), end(data), [](std::shared_ptr<Person> left, std::shared_ptr<Person> right)
87+
std::sort(begin(data), end(data), [](personPtr left, personPtr right)
8488
{
8589
return left->getLastName() < right->getLastName();
8690
});
8791
}
8892

8993
void Database::sortByPersonalID()
9094
{
91-
std::sort(begin(data), end(data), [](std::shared_ptr<Person> left, std::shared_ptr<Person> right)
92-
{
93-
return left->getPersonalID() < right->getPersonalID();
94-
});
95+
std::sort(begin(data), end(data), [](personPtr left, personPtr right)
96+
{
97+
return left->getPersonalID() < right->getPersonalID();
98+
});
9599
}
96100

97101
void Database::sortByStudentID()
98102
{
99-
std::sort(begin(data), end(data), [](std::shared_ptr<Person> left, std::shared_ptr<Person> right)
103+
std::sort(begin(data), end(data), [](personPtr left, personPtr right)
100104
{
101-
if(std::dynamic_pointer_cast<Employee>(left)) return false;
102-
if(std::dynamic_pointer_cast<Employee>(right)) return true;
105+
if(dynamic_pointer_cast<Employee>(left)) return false;
106+
if(dynamic_pointer_cast<Employee>(right)) return true;
103107

104-
std::shared_ptr<Student> student1 = std::dynamic_pointer_cast<Student>(left);
105-
std::shared_ptr<Student> student2 = std::dynamic_pointer_cast<Student>(right);
108+
studentPtr student1 = dynamic_pointer_cast<Student>(left);
109+
studentPtr student2 = dynamic_pointer_cast<Student>(right);
106110
return student1->getStudentIndex() < student2->getStudentIndex();
107111
});
108112
}
109113

110-
void Database::addPerson(std::shared_ptr<Person> person)
114+
void Database::addPerson(personPtr person)
111115
{
112116
data.push_back(person);
113117
}
@@ -119,7 +123,7 @@ bool Database::addStudent(const std::string& firstName,
119123
const std::string& address,
120124
const unsigned long& studentIndex)
121125
{
122-
std::shared_ptr<Person> student = std::make_shared<Student>(firstName,
126+
personPtr student = std::make_shared<Student>(firstName,
123127
lastName, personalID, gender, address, studentIndex);
124128
addPerson(student);
125129
return true;
@@ -132,7 +136,7 @@ bool Database::addEmployee(const std::string& firstName,
132136
const std::string& address,
133137
const double& salary)
134138
{
135-
std::shared_ptr<Person> employee = std::make_shared<Employee>(firstName,
139+
personPtr employee = std::make_shared<Employee>(firstName,
136140
lastName, personalID, gender, address, salary);
137141
addPerson(employee);
138142
return true;
@@ -201,12 +205,12 @@ bool Database::removeByStudentID(const unsigned long& studentID)
201205
auto iter = searchByStudentID(studentID);
202206

203207
if (iter != end(data))
204-
{
205-
data.erase(iter);
206-
return true;
207-
}
208-
else
209-
return false;
208+
{
209+
data.erase(iter);
210+
return true;
211+
}
212+
else
213+
return false;
210214
}
211215

212216
bool Database::modifySalary(const unsigned long long& personalID, const double& newSalary)
@@ -215,7 +219,7 @@ bool Database::modifySalary(const unsigned long long& personalID, const double&
215219

216220
if (personIter != data.end())
217221
{
218-
if(std::shared_ptr<Employee> isEmployee = std::dynamic_pointer_cast<Employee>(*personIter))
222+
if(employeePtr isEmployee = dynamic_pointer_cast<Employee>(*personIter))
219223
{
220224
isEmployee->setSalary(newSalary);
221225
return true;

Database.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
#include "Person.hpp"
66

77
using personIter = std::vector<std::shared_ptr<Person>>::iterator;
8+
using personPtr = std::shared_ptr<Person>;
89

910
class Database
1011
{
1112
private:
12-
std::vector<std::shared_ptr<Person>> data {};
13+
std::vector<personPtr> data {};
1314
public:
1415
personIter searchByLastName(const std::string& lastName);
1516
personIter searchByPersonalID(const unsigned long long& personalID);
@@ -19,7 +20,7 @@ class Database
1920
void sortByLastName();
2021
void sortByPersonalID();
2122
void sortByStudentID();
22-
void addPerson(std::shared_ptr<Person> person);
23+
void addPerson(personPtr person);
2324

2425
bool addStudent(const std::string& firstName,
2526
const std::string& lastName,

Person.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class Person
2222
std::string getLastName() const;
2323
unsigned long long getPersonalID() const;
2424
void setAddress(const std::string& newAddress);
25-
25+
2626
friend std::ostream& operator<<(std::ostream& os, const Person* person);
2727
virtual std::string getInfo() const;
2828
virtual ~Person() {};

0 commit comments

Comments
 (0)