X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FListParser.cti;h=0aa24eaccafd344da6975a0d9585389580a18899;hb=33adfa86c0b25cb6eeda0fa12d47e077e488375a;hp=a16ed886358af0ac25159cf101661ebb96f8ab86;hpb=2e7dc69c3a63bac0a9df1abbcece62c03112a1ab;p=senf.git diff --git a/senf/Packets/ListParser.cti b/senf/Packets/ListParser.cti index a16ed88..0aa24ea 100644 --- a/senf/Packets/ListParser.cti +++ b/senf/Packets/ListParser.cti @@ -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