204 lines
4.2 KiB
C++
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
|