Example #1
0
    void connect(const std::string& srcPortName, Impl& dstImpl,
                 const std::string& dstPortName)
    {
        if (!hasOutputPort(srcPortName))
            throwPortError(srcPortName);

        if (!dstImpl.hasInputPort(dstPortName))
            throwPortError(dstPortName);

        // The value on the output port may already be set
        if (!dstImpl._manuallySetPortsMap.count(dstPortName))
            std::runtime_error(std::string("The value on port:  ") +
                               dstPortName + "is already set");

        _outputMap.find(srcPortName)
            ->second.connect(dstImpl._inputMap.find(dstPortName)->second);
    }