Ringer::RingerProcedureWrapper< procedure_t, etaDependency, etDependency, segType, false, true, false > Node1 Ringer::RingerProcedureWrapper < procedure_t, etaDependency, etDependency, segType, false, true, false > - m_extraDescriptionPatterns - m_discr - m_nRings + RingerProcedureWrapper() + RingerProcedureWrapper() + execute() + execute() - checkPPWrapperCol() - checkExtraPatNorm() - checkDiscrCol() * DiscrDepProcCollection * ExtraPatternsNormCollection * m_extraDescriptionPatterns * m_discr * m_nRings * RingerProcedureWrapper() * RingerProcedureWrapper() * execute() * execute() * setRawConfCol() * getRawConfCol() * getExtraDescriptionPatterns() * setExtraDescriptionPatterns() * getExtraDescriptionNorms() * setExtraDescriptionNorms() * getSegType() * empty() * hasPP() * setMsgStream() and 8 more... * checkPPWrapperCol() * checkExtraPatNorm() * checkDiscrCol() Node2 IDiscrWrapper + wrapName + name() + hasPP() + execute() + setRawConfCol() + getRawConfCol() + getSegType() + getExtraDescriptionPatterns() + execute() + writeCol() + read() # IRingerProcedureWrapper() * execute() * setRawConfCol() * getRawConfCol() * getSegType() * getExtraDescriptionPatterns() * execute() Node2->Node1 Node3 IRedirectMsgStream Node3->Node2 Node4 Ringer::IRingerProcedure WrapperBase + empty() + write() + name() + etaDep() + etDep() + releaseMemory() + fullName() + print() + ~IRingerProcedureWrapperBase() Node4->Node2 Node5 RedirectMsgStream Node5->Node1 Node6 std::vector< std::vector < std::vector< procedure _t * > > > + elements Node6->Node1 -m_discrCol Node7 std::vector< std::vector < Ringer::PreProcessing ::Norm::ExtraPatternsNorm * > > + elements Node7->Node1 -m_extraDescriptionNorms Node8 std::vector< T > Node8->Node1 -m_ppWrapperCol -m_rsRawConfCol Node9 T Node9->Node8 +elements