map< string , int >::iterator aMapOfLinkedNodesIterator ;
int i = 0 ;
for ( aMapOfLinkedNodesIterator = _MapOfLinkedNodes.begin() ;
- aMapOfLinkedNodesIterator != _MapOfLinkedNodes.end() ; aMapOfLinkedNodesIterator++ ) {
+ aMapOfLinkedNodesIterator != _MapOfLinkedNodes.end() && i < _LinkedNodesSize ;
+ aMapOfLinkedNodesIterator++ ) {
cdebug << "_MapOfLinkedNodes" << i++ << " of " << Name() << " : "
<< aMapOfLinkedNodesIterator->first << " --> " << aMapOfLinkedNodesIterator->second
<< endl ;
map< string , int >::iterator aMapOfLinkedFromNodesIterator ;
int ifrom = 0 ;
for ( aMapOfLinkedFromNodesIterator = ToNode->_MapOfLinkedFromNodes.begin() ;
- aMapOfLinkedFromNodesIterator != ToNode->_MapOfLinkedFromNodes.end() ; aMapOfLinkedFromNodesIterator++ ) {
+ aMapOfLinkedFromNodesIterator != ToNode->_MapOfLinkedFromNodes.end() &&
+ ifrom < ToNode->_LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator++ ) {
cdebug << "_MapOfLinkedFromNodes" << ifrom++ << " of " << ToNode->Name() << " : "
<< aMapOfLinkedFromNodesIterator->first << " --> "
<< aMapOfLinkedFromNodesIterator->second << endl ;
map< string , int >::iterator aMapOfLinkedNodesIterator1 ;
int ii = 0 ;
for ( aMapOfLinkedNodesIterator1 = _MapOfLinkedNodes.begin() ;
- aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() ; aMapOfLinkedNodesIterator1++ ) {
- cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
- << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
- << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+ aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() && ii < _LinkedNodesSize ;
+ aMapOfLinkedNodesIterator1++ ) {
+ if ( aMapOfLinkedNodesIterator1->second ) {
+ cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
+ << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
+ << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+ }
+ else {
+ cdebug << "_MapOfLinkedNodes" << ii << " of " << Name() << " : "
+ << aMapOfLinkedNodesIterator1->second - 1 << endl ;
+ }
}
#endif
#if 1
map< string , int >::iterator aMapOfLinkedFromNodesIterator1 ;
int iifrom = 0 ;
for ( aMapOfLinkedFromNodesIterator1 = ToNode->_MapOfLinkedFromNodes.begin() ;
- aMapOfLinkedFromNodesIterator1 != ToNode->_MapOfLinkedFromNodes.end() ; aMapOfLinkedFromNodesIterator1++ ) {
- cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << ToNode->Name() << " : "
- << aMapOfLinkedFromNodesIterator1->first << " --> "
- << aMapOfLinkedFromNodesIterator1->second << " "
- << ToNode->_LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
- << endl ;
+ aMapOfLinkedFromNodesIterator1 != ToNode->_MapOfLinkedFromNodes.end() &&
+ iifrom < ToNode->_LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator1++ ) {
+ if ( aMapOfLinkedFromNodesIterator1->second ) {
+ cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << ToNode->Name() << " : "
+ << aMapOfLinkedFromNodesIterator1->first << " --> "
+ << aMapOfLinkedFromNodesIterator1->second << " "
+ << ToNode->_LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
+ << endl ;
+ }
+ else {
+ cdebug << "_MapOfLinkedFromNodes" << iifrom << " of " << ToNode->Name() << " : "
+ << aMapOfLinkedFromNodesIterator1->second - 1 << endl ;
+ }
}
#endif
cdebug_out << "StreamNode::RemoveLinkedNode between " << Name() << " and " << ToNode->Name()
void GraphBase::StreamNode::ReNameLinkedNode( const char* OldNodeName ,
const char* NewNodeName ) {
cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedNode (" << OldNodeName << " , "
- << NewNodeName << ")" << endl;
+ << NewNodeName << ") _LinkedNodesSize " << _LinkedNodesSize << endl;
int index = GetLinkedNodeIndex( OldNodeName ) ;
if ( index >= 0 ) {
// _MapOfLinkedNodes.erase( OldNodeName ) ;
cdebug << "GraphBase::StreamNode::ReNameLinkedNode ERROR " << OldNodeName << " not found in "
<< Name() << endl ;
}
+#if 1
+ map< string , int >::iterator aMapOfLinkedNodesIterator1 ;
+ int ii = 0 ;
+ for ( aMapOfLinkedNodesIterator1 = _MapOfLinkedNodes.begin() ;
+ aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() && ii < _LinkedNodesSize ;
+ aMapOfLinkedNodesIterator1++ ) {
+ cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
+ << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
+ << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+ }
+#endif
cdebug_out << Name() << "->GraphBase::StreamNode::ReNameLinkedNode" << endl ;
}
void GraphBase::StreamNode::ReNameLinkedFromNode( const char* OldNodeName ,
const char* NewNodeName ) {
- cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode (" << OldNodeName << " , "
- << NewNodeName << ")" << endl;
+ cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode (" << OldNodeName
+ << " , " << NewNodeName << ") _LinkedFromNodesSize " << _LinkedFromNodesSize
+ << endl;
int index = GetLinkedFromNodeIndex( OldNodeName ) ;
if ( index >= 0 ) {
// _MapOfLinkedFromNodes.erase( OldNodeName ) ;
cdebug << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode ERROR " << OldNodeName
<< " not found in " << Name() << endl ;
}
+#if 1
+ map< string , int >::iterator aMapOfLinkedFromNodesIterator1 ;
+ int iifrom = 0 ;
+ for ( aMapOfLinkedFromNodesIterator1 = _MapOfLinkedFromNodes.begin() ;
+ aMapOfLinkedFromNodesIterator1 != _MapOfLinkedFromNodes.end() &&
+ iifrom < _LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator1++ ) {
+ cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << Name() << " : "
+ << aMapOfLinkedFromNodesIterator1->first << " --> "
+ << aMapOfLinkedFromNodesIterator1->second << " "
+ << _LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
+ << endl ;
+ }
+#endif
cdebug_out << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode" << endl ;
}
vector<StreamNode * > _LinkedStreamNodes ;
vector<int > _LinkedInStreamPortsNumber ;
+ bool _NodeDoneInBranchOfSwitch ;
+
bool _HeadNode ;
int _LevelNumber ;
int _SortedIndex ;
public:
- char * Name() const { return my_strdup( _Name ) ; } ;
- const char *const * NamePtr() const { return &_Name ; } ;
+//JR 17.02.2005 Memory Leak char * Name() const { return my_strdup( _Name ) ; } ;
+ char * Name() const {
+// cdebug << "StreamNode::Name " << (void * ) _Name << " = " << _Name << endl ;
+//JR 21.02.2005 Memory Leak return my_strdup( _Name ) ; } ;
+ return _Name ; } ;
+ const char *const * NamePtr() const {
+// cdebug << "StreamNode::NamePtr " << (void ** ) &_Name << " = Name " << (void * ) _Name
+// << " = " << _Name << endl ;
+ return &_Name ; } ;
bool Name( const char * aName ) ;
SUPERV::KindOfNode Kind() const {
StreamNode * LinkedStreamNodes( int i ) const { return _LinkedStreamNodes[ i ] ; } ;
+ bool BranchOfSwitchDone( bool aNodeDoneInBranchOfSwitch ) {
+ bool prevalue = _NodeDoneInBranchOfSwitch ;
+ _NodeDoneInBranchOfSwitch = aNodeDoneInBranchOfSwitch ;
+ if ( prevalue && !aNodeDoneInBranchOfSwitch ) {
+ return false ;
+ }
+ return true ; } ;
+ bool BranchOfSwitchDone() {
+ return _NodeDoneInBranchOfSwitch ; } ;
+
void HeadNode( bool aHeadNode ) { _HeadNode = aHeadNode ; } ;
const bool IsHeadNode() const { return _HeadNode ; } ;