FinanceSim 0.1.0
Financial Simulation Library
Loading...
Searching...
No Matches
career_job.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace financesim {
6
11class CareerJob : public IncomeBase {
12public:
18 CareerJob(std::string id, std::string name, double annual_salary, SimTime start_day = 0.0);
19
21 double annual_salary() const { return annual_salary_; }
22
24 double payment_amount() const { return payment_amount_; }
25
26 void update(SimTime time) override;
27 void reset() override;
28
29private:
32};
33
34} // namespace financesim
Career job income model with semi-monthly salary payments.
void update(SimTime time) override
double annual_salary() const
Get the annual salary.
void reset() override
Reset model to initial state (for replay)
double payment_amount() const
Get the per-paycheck amount (annual / 24)
void emit(SimTime time, Args &&... args)
const std::string & name() const override
Human-readable name/description.
double SimTime
Represents a point in simulation time (continuous, in days)
Definition time.hpp:6