diff --git a/Packets/PacketData.hh b/Packets/PacketData.hh index 9ebe32e8999131870f648477ac06b1a47d1e1418..8a64ec02f58d7c0ecd10bcc536b1abb5b46fd7b0 100644 --- a/Packets/PacketData.hh +++ b/Packets/PacketData.hh @@ -109,9 +109,14 @@ namespace senf { // only academic since what should an empty packet be good for ? void insert(iterator pos, byte v); void insert(iterator pos, size_type n, byte v); +# ifndef DOXYGEN template <class InputIterator> void insert(iterator pos, InputIterator f, InputIterator l, typename boost::disable_if< boost::is_convertible<InputIterator,size_type> >::type * = 0); +# else + template <class InputIterator> + void insert(iterator pos, InputIterator f, InputIterator l); +# endif void erase(iterator pos); void erase(iterator first, iterator last); diff --git a/Packets/PacketParser.hh b/Packets/PacketParser.hh index db7a32fbca119361570d012e26c9afcee227aa9a..644e00d58670786796adc5f5a155769a4d418e0e 100644 --- a/Packets/PacketParser.hh +++ b/Packets/PacketParser.hh @@ -299,11 +299,16 @@ namespace senf { \ingroup packetparser */ +# ifndef DOXYGEN template <class Parser> typename boost::enable_if< boost::is_base_of<PacketParserBase, Parser>, Parser >::type operator<<(Parser target, Parser source); +# else + template <class Parser> + Parser operator<<(Parser target, Parser source); +# endif /** \brief Generic parser value assignment diff --git a/Packets/ParseList.hh b/Packets/ParseList.hh index 8e82f061384b2cd4f39f552e0cb44b529cfbfd99..3b7506b819635ccf6ea1229b2c12017d1f2a5d36 100644 --- a/Packets/ParseList.hh +++ b/Packets/ParseList.hh @@ -327,8 +327,12 @@ namespace senf { template <class Value> void insert(iterator pos, size_type n, Value const & t); template <class ForwardIterator> +# ifndef DOXYGEN void insert(iterator pos, ForwardIterator f, ForwardIterator l, typename boost::disable_if< boost::is_convertible<ForwardIterator,size_type> >::type * = 0); +# else + void insert(iterator pos, ForwardIterator f, ForwardIterator l); +# endif void erase(iterator pos, size_type n=1); void erase(iterator f, iterator l); diff --git a/Packets/ParseVec.hh b/Packets/ParseVec.hh index f979f42b90eafe9c0d66492c3b68099d1deef93c..11546710d490e5d31e50e1f3bcae910564581a86 100644 --- a/Packets/ParseVec.hh +++ b/Packets/ParseVec.hh @@ -261,9 +261,14 @@ namespace senf { void insert(iterator pos, Value const & t); template <class Value> void insert(iterator pos, size_type n, Value const & t); +# ifndef DOXYGEN template <class ForwardIterator> void insert(iterator pos, ForwardIterator f, ForwardIterator l, typename boost::disable_if< boost::is_convertible<ForwardIterator,size_type> >::type * = 0); +# else + template <class ForwardIterator> + void insert(iterator pos, ForwardIterator f, ForwardIterator l); +# endif void erase(iterator pos, size_type n=1); void erase(iterator f, iterator l); diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh index 2c951b770d6bfd2a4cc2de198d5b8b3ec16d9e34..2e2372a1b5bff5fd7c6e75be7f60dc9ab65a7675 100644 --- a/Socket/ClientSocketHandle.hh +++ b/Socket/ClientSocketHandle.hh @@ -170,9 +170,13 @@ namespace senf { */ std::string read (unsigned limit=0); template <class ForwardWritableRange> +# ifndef DOXYGEN typename boost::range_iterator<ForwardWritableRange>::type read (ForwardWritableRange const & range, typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type * = 0); +# else + typename boost::range_iterator<ForwardWritableRange>::type + read (ForwardWritableRange const & range); ///< Read data into range /**< Read data into the given range. At most <tt>boost::size(range)</tt> characters are read. The @@ -185,6 +189,7 @@ namespace senf { last read character \see \ref read() \n <a href="http://www.boost.org/libs/range/index.html">Boost.Range</a> */ +# endif template <class ForwardWritableRange> typename boost::range_iterator<ForwardWritableRange>::type read (ForwardWritableRange & range, diff --git a/Socket/LLAddressing.hh b/Socket/LLAddressing.hh index 779312316a757c3a97873ba99551da8b2abe140a..41823051e2d889bc9a41b921133826686ab1bacf 100644 --- a/Socket/LLAddressing.hh +++ b/Socket/LLAddressing.hh @@ -96,9 +96,14 @@ namespace senf { // This is for sending packets .. // We must use enable_if here, so this constructor will not hide // above constructor if passed a plain int or short argument +# ifndef DOXYGEN template <class ForwardRange> explicit LLSocketAddress(ForwardRange const & address, std::string interface="", typename boost::enable_if_c<! boost::is_integral<ForwardRange>::value >::type * = 0); +# else + template <class ForwardRange> + explicit LLSocketAddress(ForwardRange const & address, std::string interface=""); +# endif void clear();