+ // Mark exposed inputs\r
+ auto& e_in = this->m_Workspace->GetExposedInputPorts( );\r
+ auto f_in = f->GetInputsNames( );\r
+ for( auto iIt = f_in.begin( ); iIt != f_in.end( ); ++iIt )\r
+ {\r
+ auto eIt = e_in.begin( );\r
+ auto fIt = e_in.end( );\r
+ for( ; eIt != e_in.end( ) && fIt == e_in.end( ); ++eIt )\r
+ if( eIt->second.second == *iIt )\r
+ fIt = eIt;\r
+ if( fIt == e_in.end( ) )\r
+ continue;\r
+ \r
+ auto port = b->inputPort( iIt->c_str( ) );\r
+ port->setExtendedName( fIt->first.c_str( ) );\r
+ port->setExtend( true );\r
+\r
+ } // rof\r
+\r
+ // Mark exposed outputs\r
+ auto& e_out = this->m_Workspace->GetExposedOutputPorts( );\r
+ auto f_out = f->GetOutputsNames( );\r
+ for( auto iIt = f_out.begin( ); iIt != f_out.end( ); ++iIt )\r
+ {\r
+ auto eIt = e_out.begin( );\r
+ auto fIt = e_out.end( );\r
+ for( ; eIt != e_out.end( ) && fIt == e_out.end( ); ++eIt )\r
+ if( eIt->second.second == *iIt )\r
+ fIt = eIt;\r
+ if( fIt == e_out.end( ) )\r
+ continue;\r
+ \r
+ auto port = b->outputPort( iIt->c_str( ) );\r
+ port->setExtendedName( fIt->first.c_str( ) );\r
+ port->setExtend( true );\r
+\r
+ } // rof\r
+\r
+ return( b );\r