this->m_CollisionSites.clear( );
this->m_CollisionSites.
resize( N, _TCollisionSitesRow( N, _TCollision( TVertex( ), false ) ) );
- this->_BeforeLoop( );
+
+ this->_BeforeMainLoop( );
+ this->_InitializeMarks( );
+ this->_InitializeResults( );
+ this->_InitializeQueue( );
this->_Loop( );
- this->_AfterLoop( );
+ this->_AfterMainLoop( );
+ this->InvokeEvent( TEndEvent( ) );
+}
+
+// -------------------------------------------------------------------------
+template< class T, class B >
+void fpa::Base::Algorithm< T, B >::
+_BeforeMainLoop( )
+{
+}
+
+// -------------------------------------------------------------------------
+template< class T, class B >
+void fpa::Base::Algorithm< T, B >::
+_AfterMainLoop( )
+{
}
// -------------------------------------------------------------------------
void fpa::Base::Algorithm< T, B >::
_Loop( )
{
- this->_InitializeMarks( );
- this->_InitializeResults( );
- this->_InitializeQueue( );
+ this->_BeforeLoop( );
while( !( this->_IsQueueEmpty( ) ) )
{
_TNode n = this->_QueuePop( );
} // fi
} // elihw
- this->InvokeEvent( TEndEvent( ) );
+ this->_AfterLoop( );
}
// -------------------------------------------------------------------------
{
typename _TMarks::const_iterator mIt = this->m_Marks.find( v );
if( mIt == this->m_Marks.end( ) )
- {
- TVertex v;
- return( v );
- }
+ return( TVertex( ) );
else
return( mIt->second.Parent );
}