X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FSetup.hh;h=7b2c07abd92d0e797a49640aaa4cda080b93470a;hb=af1d0936ba912bb301ac6604965df5b28d79c63e;hp=7c4c217e3b96f8495913ff8e3cb3c343cf69445a;hpb=ee01b9007d97c64d0a34b91a3dc87ad5c5697df5;p=senf.git diff --git a/PPI/Setup.hh b/PPI/Setup.hh index 7c4c217..7b2c07a 100644 --- a/PPI/Setup.hh +++ b/PPI/Setup.hh @@ -37,6 +37,12 @@ namespace senf { namespace ppi { +namespace detail { + struct DisableStandardInput {}; + struct DisableStandardOutput {}; + struct DisableStandardConnect : public DisableStandardInput, public DisableStandardOutput {}; +} + #ifdef DOXYGEN /** \brief Connect modules @@ -62,7 +68,7 @@ namespace ppi { \see \ref ppi_connections */ - void connect(connector::Connector & source, connector::Connector & target, ...); + void connect(connector::OutputConnector & source, connector::InputConnector & target, ...); #else @@ -76,17 +82,21 @@ namespace ppi { template void connect(T & source, C & target, typename boost::disable_if< boost::is_base_of >::type * = 0, - typename boost::enable_if< boost::is_base_of >::type * = 0); + typename boost::enable_if< boost::is_base_of >::type * = 0, + typename boost::disable_if< boost::is_base_of >::type * = 0); template void connect(C & source, T & target, typename boost::enable_if< boost::is_base_of >::type * = 0, - typename boost::disable_if< boost::is_base_of >::type * = 0); + typename boost::disable_if< boost::is_base_of >::type * = 0, + typename boost::disable_if< boost::is_base_of >::type * = 0); template void connect(T1 & source, T2 & target, typename boost::disable_if< boost::is_base_of >::type * = 0, - typename boost::disable_if< boost::is_base_of >::type * = 0); + typename boost::disable_if< boost::is_base_of >::type * = 0, + typename boost::disable_if< boost::is_base_of >:: type * = 0, + typename boost::disable_if< boost::is_base_of >:: type * = 0); #endif