X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FListParser.cti;h=0aa24eaccafd344da6975a0d9585389580a18899;hb=9ffdaae4804503c4f36a53747c852a87ee626b9e;hp=9847a658ab417eb234adf43baa843b2a308a964b;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Packets/ListParser.cti b/senf/Packets/ListParser.cti index 9847a65..0aa24ea 100644 --- a/senf/Packets/ListParser.cti +++ b/senf/Packets/ListParser.cti @@ -26,7 +26,7 @@ #include "ListParser.ih" // Custom includes -#include "../Utils/senfassert.hh" +#include #define prefix_ inline ///////////////////////////////cti.p/////////////////////////////////////// @@ -84,7 +84,7 @@ senf::ListParser::front() template template -prefix_ void senf::ListParser::push_back(Value value, size_type n) +prefix_ void senf::ListParser::push_back(Value const & value, size_type n) const { container c(*this); @@ -92,16 +92,17 @@ prefix_ void senf::ListParser::push_back(Value value, size_type n) } template -prefix_ void senf::ListParser::push_back_space(size_type n) +prefix_ typename senf::ListParser::value_type +senf::ListParser::push_back_space(size_type n) const { container c(*this); - c.push_back_space(n); + return c.push_back_space(n); } template template -prefix_ void senf::ListParser::push_front(Value value, size_type n) +prefix_ void senf::ListParser::push_front(Value const & value, size_type n) const { container c(*this); @@ -109,11 +110,12 @@ prefix_ void senf::ListParser::push_front(Value value, size_type n) } template -prefix_ void senf::ListParser::push_front_space(size_type n) +prefix_ typename senf::ListParser::value_type +senf::ListParser::push_front_space(size_type n) const { container c(*this); - c.push_front_space(n); + return c.push_front_space(n); } template @@ -222,12 +224,15 @@ prefix_ senf::ListParser_Container:: ListParser_Container(parser_type const & list) : ListPolicy(static_cast(list)), state_(list.state()), i_(std::distance(data().begin(),list.i())) -{} +{ + ListPolicy::construct(*this); +} template prefix_ senf::ListParser_Container::~ListParser_Container() { ListPolicy::update(*this); + ListPolicy::destruct(*this); } // Accessors @@ -298,30 +303,32 @@ prefix_ void senf::ListParser_Container::erase(iterator f, iterator template template -prefix_ void senf::ListParser_Container::push_back(Value value, +prefix_ void senf::ListParser_Container::push_back(Value const & value, size_type n) { insert(end(),n,value); } template -prefix_ void senf::ListParser_Container::push_back_space(size_type n) +prefix_ typename senf::ListParser_Container::value_type +senf::ListParser_Container::push_back_space(size_type n) { - shift(end(),n); + return shift(end(),n); } template template -prefix_ void senf::ListParser_Container::push_front(Value value, +prefix_ void senf::ListParser_Container::push_front(Value const & value, size_type n) { insert(begin(),n,value); } template -prefix_ void senf::ListParser_Container::push_front_space(size_type n) +prefix_ typename senf::ListParser_Container::value_type +senf::ListParser_Container::push_front_space(size_type n) { - shift(begin(),n); + return shift(begin(),n); } // Parser interface