X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FStringParser.cti;h=86f3e0734f96ce445376b567796ef0928b943253;hb=ab7ff164ab5ae711ec09ce2b24228510f1ffdcff;hp=36b3075c977a0598b93ef7f319bc65e20061774c;hpb=a3f9296f648c4991a1576d4200abfdc72788bc16;p=senf.git diff --git a/senf/Packets/StringParser.cti b/senf/Packets/StringParser.cti index 36b3075..86f3e07 100644 --- a/senf/Packets/StringParser.cti +++ b/senf/Packets/StringParser.cti @@ -1,24 +1,29 @@ // $Id$ // -// Copyright (C) 2009 +// Copyright (C) 2009 // Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// Stefan Bund // -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief StringParser inline template implementation */ @@ -28,34 +33,34 @@ // Custom includes #define prefix_ inline -///////////////////////////////cci.p/////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// template prefix_ senf::StringParser::StringParser(data_iterator i, state_type s) - : PacketParserBase(i, s, init_bytes) + : PacketParserBase(i, s, init_bytes) {} template prefix_ typename senf::StringParser::size_type senf::StringParser::bytes() const -{ - return length().value() + senf::bytes(length()); +{ + return length().value() + senf::bytes(length()); } template prefix_ typename senf::StringParser::value_type senf::StringParser::value() const -{ - validate(bytes()); - return std::string(i()+senf::bytes(length()), i()+bytes()); +{ + validate(bytes()); + return std::string(i()+senf::bytes(length()), i()+bytes()); } template prefix_ void senf::StringParser::value(value_type v) -{ +{ validate(bytes()); - resize(bytes(), v.size()+senf::bytes(length())); - parse(0) = v.size(); + resize(bytes(), v.size()+senf::bytes(length())); + length() << v.size(); std::copy(v.begin(), v.end(), i()+senf::bytes(length())); } @@ -63,13 +68,13 @@ template prefix_ senf::StringParser::operator value_type() const { - return value(); + return value(); } template prefix_ typename senf::StringParser const & senf::StringParser::operator=(value_type other) -{ - value(other); return *this; +{ + value(other); return *this; } template @@ -79,7 +84,7 @@ prefix_ std::ostream & senf::operator<<(std::ostream & os, StringParser