220 7399 <e77e47bc-10fb-4f87-ac92-082dcd04b68a@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Evgeny Panasyuk <evgeny.panasyuk@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: To add the method append for all sequential
 containers that have method push_back
Date: Tue, 22 Oct 2013 10:38:05 -0700 (PDT)
Lines: 68
Approved: news@gmane.org
Message-ID: <e77e47bc-10fb-4f87-ac92-082dcd04b68a@isocpp.org>
References: <4167b82e-a3cc-44ce-9825-b52514bc1531@isocpp.org>
 <357325b0-cec5-4d22-ad56-9bb66f76b458@isocpp.org>
 <c98342aa-14d6-4fc6-8499-234c5e44e894@isocpp.org>
 <983ff074-5d8c-488a-b06c-49d53d5b7a5b@isocpp.org>
 <a4621591-b5c7-4e94-af92-3009d647512f@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_173_15981486.1382463485532"
X-Trace: ger.gmane.org 1382463485 11841 80.91.229.3 (22 Oct 2013 17:38:05 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 22 Oct 2013 17:38:05 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBC54TLGKR4LBB7XPTKJQKGQENHE6V3A@isocpp.org Tue Oct 22 19:38:10 2013
Return-path: <std-proposals+bncBC54TLGKR4LBB7XPTKJQKGQENHE6V3A@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qc0-f199.google.com ([209.85.216.199])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBC54TLGKR4LBB7XPTKJQKGQENHE6V3A@isocpp.org>)
	id 1VYfuB-0007xL-Od
	for gclcip-std-proposals@m.gmane.org; Tue, 22 Oct 2013 19:38:08 +0200
Original-Received: by mail-qc0-f199.google.com with SMTP id q4sf12827196qcx.10
        for <gclcip-std-proposals@m.gmane.org>; Tue, 22 Oct 2013 10:38:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=afFME6tex0PQzIuGG5NBFUbuGB480dTk+Ll7mQD0X/U=;
        b=xMt1NnANEPMTeFmNVahV/WVPxBz8h9IRo4TPNXNTpO4a0WwyI5jQ3UCbNcKliEuuom
         DsP3ha21MyrweU63fGEKaYhhuYMTb6Rc19i+xB3tGtumoRZ3moOaqlep6eNxyWsHrNYg
         PLcHQK3POYeAFVD7us5FD9tv/Vc9ju17xTzNkFw12zsH4nwY4JDtrYjhlPgW8PPMWWbt
         zz7ImowLeLMkSYUS85JRsRlEfah3KwTCSbnHC46yxK7dagKm+nu3T7ge0glJFZGjsJ5U
         d9qXwWnrHkhCTCinlfYZTm/6DMgiYDN5uEOWjN1V3yCm1N737OHeGoIV4mLwhfH6SyhI
         g/1g==
X-Received: by 10.58.128.33 with SMTP id nl1mr4941590veb.28.1382463486916;
        Tue, 22 Oct 2013 10:38:06 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.99.10 with SMTP id em10ls197498qeb.82.gmail; Tue, 22 Oct
 2013 10:38:06 -0700 (PDT)
X-Received: by 10.49.48.38 with SMTP id i6mr668609qen.4.1382463486167;
        Tue, 22 Oct 2013 10:38:06 -0700 (PDT)
In-Reply-To: <a4621591-b5c7-4e94-af92-3009d647512f@isocpp.org>
X-Original-Sender: evgeny.panasyuk@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:7399
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/7399>

------=_Part_173_15981486.1382463485532
Content-Type: text/plain; charset=ISO-8859-1


>
>  
> I do not see any great sense in this function. In fact you need to 
> write its realization for each container. So it looks like the realization 
> of function std:;swap in containers. Moreover std::basic_string has 
> already method append. So that to make the call of the function 
> interchangeable with other containers it is better to make it a class 
> member.
>
 
Non-member append/push_back is easily implementable in terms of end() 
(which is part of Container concept requirnment since 1998) and insert(...) 
(which is part of Sequence concept requirenment since 1998).
Once such function will be implemented as non-member it would work with any 
conformant sequence automaticly. That is not only about STL containers, but 
also about containers which users developed themself since 1998.
Just look at 
http://www.boost.org/doc/libs/1_54_0/libs/range/doc/html/range/reference/algorithms/new/push_back.html

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

------=_Part_173_15981486.1382463485532
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr"><div>&nbsp;</div><div>I do not see any great sense in this function. In=
 fact you need to write&nbsp;its realization for each container. So it look=
s like the realization of function std:;swap in containers. Moreover std::b=
asic_string has already&nbsp;method append. So that to make the call of the=
 function interchangeable with other containers it is better to make it a c=
lass member.</div></div></blockquote><div>&nbsp;<br>Non-member append/push_=
back is easily implementable in terms of end() (which is part of Container =
concept requirnment since 1998) and insert(...) (which is part of Sequence =
concept requirenment since 1998).<br>Once such function will be implemented=
 as non-member it would work with any conformant sequence automaticly. That=
 is not only about STL containers, but also about containers which users de=
veloped themself since 1998.<br>Just look at http://www.boost.org/doc/libs/=
1_54_0/libs/range/doc/html/range/reference/algorithms/new/push_back.html<br=
><br></div></div>

<p></p>

-- <br />
&nbsp;<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_173_15981486.1382463485532--

.
