
//.cc#include#include#include#includenamespacelongbeach{namespacesignals{SampleAndHoldSignal::SampleAndHoldSignal:PeriodicWakeup,m_subSignal,m_lastIsOK{startPeriodicWakeup;m_lastState.resize,0.0);}voidSampleAndHoldSignal::onPeriodicWakeup{boolisOK=m_subSignal->isOK;if{conststd::vector&newState=m_subSignal->getSignalState;if{m_lastIsOK=isOK;m_lastState=newState;m_lastChangeTime=m_subSignal->getLastChangeTv;m_lastWakeupSwtv=swtv;notifySignalListeners;}}else{if{m_lastState.clear;m_lastState.resize,0.0);m_lastChangeTime=m_subSignal->getLastChangeTv;m_lastWakeupSwtv=swtv;notifySignalListeners;}}}/************************************************************************************************///SampleAndHoldSignalSpec/************************************************************************************************/SampleAndHoldSignalSpec::SampleAndHoldSignalSpec:m_subSignal),m_wakeupInterval,m_wakeupOffset,m_wakeupPriority{}ISignalPtrSampleAndHoldSignalSpec::buildconst{ISignalPtrsubSignal=builder->buildSignal;returnISignalPtr.get,subSignal,m_wakeupInterval,m_wakeupOffset,m_wakeupPriority));}voidSampleAndHoldSignalSpec::checkValidconst{ISignalSpec::checkValid;m_subSignal->checkValid;if==0)LONGBEACH_THROW_ERROR_SS<<":wakeupintervalis0");}SampleAndHoldSignalSpec*SampleAndHoldSignalSpec::cloneconst{returnnewSampleAndHoldSignalSpec;}voidSampleAndHoldSignalSpec::hashCombineconst{boost::hash_combine;boost::hash_combine;boost::hash_combine;boost::hash_combine;}boolSampleAndHoldSignalSpec::compareconst{constSampleAndHoldSignalSpec*b=dynamic_cast;ifreturnfalse;ifreturnfalse;ifreturnfalse;ifreturnfalse;ifreturnfalse;returntrue;}voidSampleAndHoldSignalSpec::printconst{constLuaPrintSettingsonei=ps.next;//indentationonepastcurrento<<"--SampleAndHoldSignalSpec"<getDataRequirements;}boolSampleAndHoldSignalSpec::registerScripting{//eachSpecclassmustbeaddedtoregisterScriptinginSignals_Scripting.ccluabind::module[luabind::class_.def).property//.def_readwrite.def_readwrite.def_readwrite.def_readwrite];returntrue;}}//namespacesignals}//namespacelongbeach
文章为作者独立观点,不代表股票交易接口观点