pelican/core/src/PipelineDriver.cpp
/**
 * @details
 * Private method to find the data requirements of the given pipeline.
 * This is called by start().
 */
@details
Private method to find the data requirements of the given pipeline.
This is called by start().
@details Private method to find the data requirements of the given pipeline . This is called by start () .
void PipelineDriver::_checkDataRequirements()
{
    if (!_dataClient)
        return;
    DataRequirements totalReq;
    foreach (const DataRequirements& req, _allDataReq ) {
#ifdef BROKEN_QT_SET_HEADER
        QSet<QString> temp = totalReq.allStreams();
        if ((temp & req.allStreams()).size() > 0) {
#else
        if ((totalReq.allStreams() & req.allStreams()).size() > 0) {
#endif
            throw QString("Multiple pipelines requiring the same remote stream data are not supported.");
        }
        totalReq += req;
    }
}
void PipelineDriver :: _checkDataRequirements ( ) { if ( ! _dataClient ) return ; DataRequirements totalReq ; foreach ( const DataRequirements & req , _allDataReq ) { #ifdef BROKEN_QT_SET_HEADER QSet < QString > temp = totalReq . allStreams ( ) ; if ( ( temp & req . allStreams ( ) ) . size ( ) > 0 ) { #else 
        if ((totalReq.allStreams() & req.allStreams()).size() > 0) { #endif 
            throw QString("Multiple pipelines requiring the same remote stream data are not supported."); } totalReq += req ; } }
@details
 Private method to find the data requirements of the given pipeline.
@details Private method to find the data requirements of the given pipeline .
/* Check that the set of stream data required for each pipeline does not
     * intersect the set of stream data required by another.
     * Data is not currently copied, so this ensures that two pipelines do not
     * try to modify the same data. */