Files
Work/cashflow/PURECFLO.HPP
2024-08-07 09:12:07 -04:00

204 lines
4.2 KiB
C++

#ifndef _PURECASHFLOW_HPP_
#define _PURECASHFLOW_HPP_
#include <strstrea.h>
#include <common/string.hpp>
#include <common/windows.hpp>
class PureCashFlow
{
public:
PureCashFlow(void);
PureCashFlow(double beginBal,double smm,double mtgPay,double netIntPay,double grossIntPay,double schedPrinPay,double prepayment,double totPrin,double cashFlow,double factor);
PureCashFlow(const PureCashFlow &somePureCashFlow);
~PureCashFlow();
void operator=(const PureCashFlow &somePureCashFlow);
WORD operator==(const PureCashFlow &somePureCashFlow)const;
strstream &operator>>(strstream &stream)const;
void operator>>(String &someString)const;
double beginBal(void)const;
void beginBal(double newBeginBal);
double smm(void)const;
void smm(double newSMM);
double mtgPay(void)const;
void mtgPay(double newMtgPay);
double netIntPay(void)const;
void netIntPay(double newIntPay);
double grossIntPay(void)const;
void grossIntPay(double newGrossIntPay);
double schedPrinPay(void)const;
void schedPrinPay(double newSchedPrinPay);
double prepayment(void)const;
void prepayment(double newPrepayment);
double totPrin(void)const;
void totPrin(double newTotPrin);
double cashFlow(void)const;
void cashFlow(double newCashFlow);
double factor(void)const;
void factor(double newFactor);
void itemStrings(Block<String> &strBlock);
private:
double mBeginBal;
double mSMM;
double mMtgPay;
double mNetIntPay;
double mGrossIntPay;
double mSchedPrinPay;
double mPrepayment;
double mTotPrin;
double mCashFlow;
double mFactor;
};
inline
PureCashFlow::PureCashFlow(void)
: mBeginBal(0.00), mSMM(0.00), mMtgPay(0.00), mNetIntPay(0.00), mGrossIntPay(0.00),
mSchedPrinPay(0.00), mPrepayment(0.00), mTotPrin(0.00), mCashFlow(0.00), mFactor(0.00)
{
}
inline
PureCashFlow::PureCashFlow(double beginBal,double smm,double mtgPay,
double netIntPay,double grossIntPay,double schedPrinPay,
double prepayment,double totPrin,double cashFlow,double factor)
: mBeginBal(beginBal), mSMM(smm), mMtgPay(mtgPay), mNetIntPay(netIntPay),
mGrossIntPay(grossIntPay), mSchedPrinPay(schedPrinPay), mPrepayment(prepayment),
mTotPrin(totPrin), mCashFlow(cashFlow), mFactor(factor)
{
}
inline
PureCashFlow::PureCashFlow(const PureCashFlow &somePureCashFlow)
: mBeginBal(somePureCashFlow.mBeginBal), mSMM(somePureCashFlow.mSMM),
mMtgPay(somePureCashFlow.mMtgPay), mNetIntPay(somePureCashFlow.mNetIntPay),
mGrossIntPay(somePureCashFlow.mGrossIntPay), mSchedPrinPay(somePureCashFlow.mSchedPrinPay),
mPrepayment(somePureCashFlow.mPrepayment), mTotPrin(somePureCashFlow.mTotPrin),
mCashFlow(somePureCashFlow.mCashFlow), mFactor(somePureCashFlow.mFactor)
{
}
inline
PureCashFlow::~PureCashFlow()
{
}
inline
double PureCashFlow::beginBal(void)const
{
return mBeginBal;
}
inline
void PureCashFlow::beginBal(double newBeginBal)
{
mBeginBal=newBeginBal;
}
inline
double PureCashFlow::smm(void)const
{
return mSMM;
}
inline
void PureCashFlow::smm(double newSMM)
{
mSMM=newSMM;
}
inline
double PureCashFlow::mtgPay(void)const
{
return mMtgPay;
}
inline
void PureCashFlow::mtgPay(double newMtgPay)
{
mMtgPay=newMtgPay;
}
inline
double PureCashFlow::netIntPay(void)const
{
return mNetIntPay;
}
inline
void PureCashFlow::netIntPay(double newNetIntPay)
{
mNetIntPay=newNetIntPay;
}
inline
double PureCashFlow::grossIntPay(void)const
{
return mGrossIntPay;
}
inline
void PureCashFlow::grossIntPay(double newGrossIntPay)
{
mGrossIntPay=newGrossIntPay;
}
inline
double PureCashFlow::schedPrinPay(void)const
{
return mSchedPrinPay;
}
inline
void PureCashFlow::schedPrinPay(double newSchedPrinPay)
{
mSchedPrinPay=newSchedPrinPay;
}
inline
double PureCashFlow::prepayment(void)const
{
return mPrepayment;
}
inline
void PureCashFlow::prepayment(double newPrepayment)
{
mPrepayment=newPrepayment;
}
inline
double PureCashFlow::totPrin(void)const
{
return mTotPrin;
}
inline
void PureCashFlow::totPrin(double newTotPrin)
{
mTotPrin=newTotPrin;
}
inline
double PureCashFlow::cashFlow(void)const
{
return mCashFlow;
}
inline
void PureCashFlow::cashFlow(double newCashFlow)
{
mCashFlow=newCashFlow;
}
inline
double PureCashFlow::factor(void)const
{
return mFactor;
}
inline
void PureCashFlow::factor(double newFactor)
{
mFactor=newFactor;
}
#endif