// 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);
\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
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);
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);
*/
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
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,
// 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();