X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FSetup.hh;h=7b2c07abd92d0e797a49640aaa4cda080b93470a;hb=af1d0936ba912bb301ac6604965df5b28d79c63e;hp=1c42c0e9fc9dd93689adf01322eca798fdc2f80c;hpb=a693cc27222e447fe920ba2eb122e4d5d664cc0f;p=senf.git diff --git a/PPI/Setup.hh b/PPI/Setup.hh index 1c42c0e..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 @@ -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