220 5517 <CACQQCoGmEw9AFBV+Sh71UuVSeHcUsR2YRmMpviLYgHdcvCpyVA@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Steve Heller <technovelist@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: A library to provide a virtual memory vector
 of strings
Date: Tue, 23 Jul 2013 09:45:28 -0500
Lines: 165
Approved: news@gmane.org
Message-ID: <CACQQCoGmEw9AFBV+Sh71UuVSeHcUsR2YRmMpviLYgHdcvCpyVA@mail.gmail.com>
References: <861959e9-74f3-4ed8-aeca-bad9c3256acd@isocpp.org>
	<52729d06-72f4-4d9d-a000-7cfa3af9837a@isocpp.org>
	<CAPXezF-v6nZUtp+FFbU6Ri09LGuPQNdge+fOOqSvDovqHXFMtQ@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=e89a8fb200e60f7bb604e22ed8c8
X-Trace: ger.gmane.org 1374590727 20759 80.91.229.3 (23 Jul 2013 14:45:27 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 23 Jul 2013 14:45:27 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDG2H26ZRUARBCFOXKHQKGQETSJNYNI@isocpp.org Tue Jul 23 16:45:30 2013
Return-path: <std-proposals+bncBDG2H26ZRUARBCFOXKHQKGQETSJNYNI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-oa0-f72.google.com ([209.85.219.72])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDG2H26ZRUARBCFOXKHQKGQETSJNYNI@isocpp.org>)
	id 1V1dqD-00062p-QO
	for gclcip-std-proposals@m.gmane.org; Tue, 23 Jul 2013 16:45:30 +0200
Original-Received: by mail-oa0-f72.google.com with SMTP id l10sf36302260oag.7
        for <gclcip-std-proposals@m.gmane.org>; Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-beenthere:mime-version:in-reply-to:references:date:message-id
         :subject:from:to:x-original-sender:x-original-authentication-results
         :reply-to:precedence:mailing-list:list-id:x-google-group-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=fDamYzZ4l5tznJex4oCApJllZCQ+yRWXlH5NPKMuGGI=;
        b=Wwo7CVjcX548kiEJlt5o6wXlgQfNhX8b8VM+GYBtG4/bLZxADhK58jtNRfdPiPzX8p
         EfLKOCxNr+yIgDd7AKvSyVBWs0+6aZNEIUngicSJEfIFKCLGa73AHT/VePm8H9xpsWuD
         /a46ID/FF+7N2QRqViAbW5/o4vMxMdJuN58mVTTrFEO8nRMa02KFppvXm5XnNYcUNAfx
         NO8lp/iwFvyKr2tO2UxGDVnb4EaB/E1xyxSFeNOUr4cLarSccBz+gXqjQ6DyQ2aaEew2
         PyfoKtlO8znzIl12UY7Y4oCcH7jkZT64+McEqOkmAe8ewJ7de8Zc6pCqf3CjcCI2Mk2W
         Ygxg==
X-Received: by 10.182.133.103 with SMTP id pb7mr8698035obb.46.1374590728801;
        Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.182.241.2 with SMTP id we2ls1288283obc.67.gmail; Tue, 23 Jul
 2013 07:45:28 -0700 (PDT)
X-Received: by 10.182.144.163 with SMTP id sn3mr25557903obb.1.1374590728272;
        Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
Original-Received: from mail-oa0-x232.google.com (mail-oa0-x232.google.com [2607:f8b0:4003:c02::232])
        by mx.google.com with ESMTPS id ur7si18643856obc.13.2013.07.23.07.45.28
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of technovelist@gmail.com designates 2607:f8b0:4003:c02::232 as permitted sender) client-ip=2607:f8b0:4003:c02::232;
Original-Received: by mail-oa0-f50.google.com with SMTP id k7so11366022oag.23
        for <std-proposals@isocpp.org>; Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
X-Received: by 10.182.66.46 with SMTP id c14mr25485242obt.33.1374590728107;
 Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
Original-Received: by 10.60.28.100 with HTTP; Tue, 23 Jul 2013 07:45:28 -0700 (PDT)
In-Reply-To: <CAPXezF-v6nZUtp+FFbU6Ri09LGuPQNdge+fOOqSvDovqHXFMtQ@mail.gmail.com>
X-Original-Sender: technovelist@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of technovelist@gmail.com designates 2607:f8b0:4003:c02::232 as
 permitted sender) smtp.mail=technovelist@gmail.com;       dkim=pass header.i=@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:5517
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/5517>

--e89a8fb200e60f7bb604e22ed8c8
Content-Type: text/plain; charset=ISO-8859-1

I admit that it *sounds* very special-case. But in practice it is a lot
more flexible than that. For example, my employer's programs use it in two
quite different applications, neither of which is a general string type.
Instead, it is used as the underlying storage mechanism for caching SQL
database records and for a domain-specific record type that is converted to
and from string representation (in this case, by the MFC CArchive facility).

So rather than thinking of this as a virtual memory character string
facility, think of it as a mechanism for implementing file-based
variable-length data objects, and its more general applicability becomes
evident.

On Mon, Jul 22, 2013 at 10:01 PM, Fernando Cacciola <
fernando.cacciola@gmail.com> wrote:

>
>
> On Mon, Jul 22, 2013 at 10:43 PM, Nicol Bolas <jmckesson@gmail.com> wrote:
>
>> You can write up a proposal if you like. But this sounds *incredibly*special case. That's not to say that it isn't useful. But when you might
>> need such a class sounds really specific.
>>
>> Right, yet I've seen the requirement of efficiently managing a really
> large (i.e. millions) number of fixed or variable-size object several times
> already.
> While the case for strings is certainly quite domain specific (but I've
> seen this specifically about a dozen times), there is something in the
> underlying set of requirements that seems to be general enough.
>
> Memory pool allocation comes to head, but that only handles fixed-sized
> objects, so, I'm more than interested in the underlying mechanisms for such
> a library because it seems that there might be a general utility behind it.
>
> So, @Steve, would you like to disclose and discuss the underlying details
> here, keeping an eye on abstracting the type of object being managed?
>
>
> --
> Fernando Cacciola
> SciSoft Consulting, Founder
> http://www.scisoft-consulting.com
>
> --
>
> ---
> 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/.
>
>
>

-- 

--- 
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/.



--e89a8fb200e60f7bb604e22ed8c8
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I admit that it <b>sounds</b> very special-case. But in practice it is a lo=
t more flexible than that. For example, my employer&#39;s programs use it i=
n two quite different applications, neither of which is a general string ty=
pe. Instead, it is used as the underlying storage mechanism for caching SQL=
 database records and for a domain-specific record type that is converted t=
o and from string representation (in this case, by the MFC CArchive facilit=
y).<div>
<br></div><div>So rather than thinking of this as a virtual memory characte=
r string facility, think of it as a mechanism for implementing file-based v=
ariable-length data objects, and its more general applicability becomes evi=
dent.</div>
<div><br><div><div class=3D"gmail_quote">On Mon, Jul 22, 2013 at 10:01 PM, =
Fernando Cacciola <span dir=3D"ltr">&lt;<a href=3D"mailto:fernando.cacciola=
@gmail.com" target=3D"_blank">fernando.cacciola@gmail.com</a>&gt;</span> wr=
ote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><br><div class=3D"gmail_ext=
ra"><br><div class=3D"gmail_quote"><div class=3D"im">On Mon, Jul 22, 2013 a=
t 10:43 PM, Nicol Bolas <span dir=3D"ltr">&lt;<a href=3D"mailto:jmckesson@g=
mail.com" target=3D"_blank">jmckesson@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">You can write up a propos=
al if you like. But this sounds <i>incredibly</i> special case. That&#39;s =
not to say that it isn&#39;t useful. But when you might need such a class s=
ounds really specific.<div>


<div><br></div></div></blockquote></div><div>Right, yet I&#39;ve seen the r=
equirement of efficiently managing a really large (i.e. millions) number of=
 fixed or variable-size object several times already.<br></div><div>

While the case for strings is certainly quite domain specific (but I&#39;ve=
 seen this specifically about a dozen times), there is something in the und=
erlying set of requirements that seems to be general enough.<br><br></div>


<div>Memory pool allocation comes to head, but that only handles fixed-size=
d objects, so, I&#39;m more than interested in the underlying mechanisms fo=
r such a library because it seems that there might be a general utility beh=
ind it. <br>


<br>So, @Steve, would you like to disclose and discuss the underlying detai=
ls here, keeping an eye on abstracting the type of object being managed?<sp=
an class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></div><span c=
lass=3D"HOEnZb"><font color=3D"#888888"><div>
=A0<br clear=3D"all"></div></font></span></div><span class=3D"HOEnZb"><font=
 color=3D"#888888"><br>-- <br>Fernando Cacciola<br>

SciSoft Consulting, Founder<br><a href=3D"http://www.scisoft-consulting.com=
" target=3D"_blank">http://www.scisoft-consulting.com</a>
</font></span></div></div><div class=3D"HOEnZb"><div class=3D"h5">

<p></p>

-- <br>
=A0<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 <a href=3D"mailto:std-proposals%2Bunsubscribe@isocpp.org" target=3D=
"_blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
=A0<br>
=A0<br>
</div></div></blockquote></div><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 />
&nbsp;<br />
&nbsp;<br />

--e89a8fb200e60f7bb604e22ed8c8--

.
