// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
return Parser(i,state());
}
+template <class Parser, class Arg>
+prefix_ Parser senf::PacketParserBase::parse(Arg const & arg, data_iterator i)
+ const
+{
+ return Parser(arg, i, state());
+}
+
template <class Parser>
prefix_ Parser senf::PacketParserBase::parse(size_type n)
const
return Parser(boost::next(i(),n),state());
}
+template <class Parser, class Arg>
+prefix_ Parser senf::PacketParserBase::parse(Arg const & arg, size_type n)
+ const
+{
+ return Parser(arg, boost::next(i(),n), state());
+}
+
///////////////////////////////////////////////////////////////////////////
// namespace members
return Parser::fixed_bytes;
}
-template <class Parser>
-prefix_ senf::PacketParserBase::size_type senf::detail::packetParserSize(Parser p, ...)
-{
- return p.bytes();
-}
-
-///////////////////////////////////////////////////////////////////////////
-// senf::SafePacketParserWrapper<Parser>
-
-template <class Parser>
-prefix_ senf::SafePacketParserWrapper<Parser>::SafePacketParserWrapper()
- : parser_(), i_()
-{}
-
-template <class Parser>
-prefix_ senf::SafePacketParserWrapper<Parser>::SafePacketParserWrapper(Parser parser)
- : parser_(parser), i_(parser)
-{}
-
-template <class Parser>
-prefix_ senf::SafePacketParserWrapper<Parser> & senf::SafePacketParserWrapper<Parser>::operator=(Parser parser)
-{
- parser_ = parser;
- i_ = parser;
- return *this;
-}
-
-template <class Parser>
-prefix_ Parser senf::SafePacketParserWrapper<Parser>::operator*()
- const
-{
- SENF_ASSERT( i_ );
- parser_->i_ = PacketParserBase::data_iterator(i_);
- return *parser_;
-}
-
-template <class Parser>
-prefix_ Parser const * senf::SafePacketParserWrapper<Parser>::operator->()
- const
-{
- SENF_ASSERT( i_ );
- parser_->i_ = PacketParserBase::data_iterator(i_);
- return & (*parser_);
-}
-
-template <class Parser>
-prefix_ bool senf::SafePacketParserWrapper<Parser>::boolean_test()
- const
-{
- return i_;
-}
-
///////////////////////////////cti.e///////////////////////////////////////
#undef prefix_