// Custom includes
#include "ListParser.ih"
-///////////////////////////////ih.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
namespace detail {
/** \brief Internal: ListPolicy defining the ListNParser parser
\internal
- \see \ref ListNParser
+ \see \ref ListParser
*/
template <class ElementParser, class AuxPolicy>
struct ListNParser_Policy
: public AuxPolicy
{
+ typedef ListNParser_Policy<
+ ElementParser, typename AuxPolicy::ParserPolicy> parser_policy;
+ typedef ListNParser_Policy<
+ ElementParser, typename AuxPolicy::WrapperPolicy> container_policy;
typedef PacketParserBase::data_iterator data_iterator;
typedef PacketParserBase::state_type state_type;
typedef PacketParserBase::size_type size_type;
typedef ElementParser element_type;
- typedef ListParser< ListNParser_Policy > parser_type;
- typedef ListParser_Container< ListNParser_Policy > container_type;
+ typedef ListParser<parser_policy> parser_type;
+ typedef ListParser_Container<container_policy> container_type;
static const size_type init_bytes = AuxPolicy::aux_bytes;
ListNParser_Policy();
template <class Arg> ListNParser_Policy(Arg const & aux);
+ ListNParser_Policy(parser_policy const & policy);
size_type bytes (data_iterator i, state_type s) const;
size_type size (data_iterator i, state_type s) const;
void init (data_iterator i, state_type s) const;
-
- void erase (container_type & c, data_iterator p) const;
- void insert (container_type & c, data_iterator p) const;
- void update (container_type const & c) const;
+
+ void construct (container_type & c) const;
+ void destruct (container_type & c) const;
+ void erase (container_type & c, data_iterator p) const;
+ void insert (container_type & c, data_iterator p) const;
+ void update (container_type const & c) const;
/** Internal: ListNParser iterator specific data */
struct iterator_data {
};
template <class ElementParser, class AuxPolicy, class Transform>
- struct ListParserPolicy<ElementParser, AuxPolicy,
- senf::detail::auxtag::transform<Transform,
+ struct ListParserPolicy<ElementParser, AuxPolicy,
+ senf::detail::auxtag::transform<Transform,
senf::detail::auxtag::none> >
{
typedef ListNParser_Policy< ElementParser,
}}
-///////////////////////////////ih.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#endif
\f