A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OptimizedEmployee.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 
19 #ifndef OPTIMIZED_EMPLOYEE_H
20 #define OPTIMIZED_EMPLOYEE_H
21 
22 #include "Object.h"
23 #include "PDBVector.h"
24 #include "PDBString.h"
25 #include "Handle.h"
26 
27 // PRELOAD %OptimizedEmployee%
28 
29 namespace pdb {
30 
31 class OptimizedEmployee : public Object {
32 
33 public:
35  int age;
36  double salary;
38 
40 
43  size_t hash() {
44  return name.hash();
45  }
46  void print() {
47  std::cout << "name is: " << name << " age is: " << age;
48  }
49 
51  return name;
52  }
53 
54  bool isFrank() {
55  return (name == "Frank");
56  }
57 
58  int getAge() {
59  return age;
60  }
61 
62  double getSalary() {
63  return salary;
64  }
65 
66  OptimizedEmployee(std::string nameIn, int ageIn, std::string department, double salary)
67  : name(nameIn), age(ageIn), salary(salary), department(department) {}
68 
69  OptimizedEmployee(std::string nameIn, int ageIn) : name(nameIn), age(ageIn) {
70  department = "myDept";
71  salary = 123.45;
72  }
73 
75  return name == me.name;
76  }
77 };
78 }
79 
80 #endif
#define ENABLE_DEEP_COPY
Definition: DeepCopy.h:52
size_t hash() const
Definition: PDBString.cc:45
ENABLE_DEEP_COPY ~OptimizedEmployee()
OptimizedEmployee(std::string nameIn, int ageIn, std::string department, double salary)
OptimizedEmployee(std::string nameIn, int ageIn)
bool operator==(OptimizedEmployee &me)