220 29989 <6d1ca157-7bcf-4426-9493-405dcdb9e031@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: wm2015email@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: build pretty-print of STL at the language level
 rather than debugger level...
Date: Thu, 22 Dec 2016 08:45:17 -0800 (PST)
Lines: 102
Approved: news@gmane.org
Message-ID: <6d1ca157-7bcf-4426-9493-405dcdb9e031@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_262_314703510.1482425117101"
X-Trace: blaine.gmane.org 1482425125 18129 195.159.176.226 (22 Dec 2016 16:45:25 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 22 Dec 2016 16:45:25 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCC5HWVB5YBRBHMG6DBAKGQEJFGXLCQ@isocpp.org Thu Dec 22 17:45:19 2016
Return-path: <std-proposals+bncBCC5HWVB5YBRBHMG6DBAKGQEJFGXLCQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-it0-f71.google.com ([209.85.214.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCC5HWVB5YBRBHMG6DBAKGQEJFGXLCQ@isocpp.org>)
	id 1cK6UU-0003ZO-EJ
	for gclcip-std-proposals@m.gmane.org; Thu, 22 Dec 2016 17:45:14 +0100
Original-Received: by mail-it0-f71.google.com with SMTP id g187sf166205450itc.2
        for <gclcip-std-proposals@m.gmane.org>; Thu, 22 Dec 2016 08:45:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:message-id:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=kA02I19urvHyuj53NwNn4h4SBVAMO17NFSLhcBVP9k8=;
        b=lWqJ8hM3mvBCq/zvBGkcV6FDjmq91jPIKzjKrEEvoE+XLg1O/htsF+kjrgYQJkTsBH
         z2pYSSIGLGNMHiOJTYWFF6g3hkvqsXJbnTsypthTsCFBZiE30kI6esrAu/RnXaJwZ1ob
         tWprH9iDGEKmrHSAO2S+IpCLBi1cNPRcy0DofSbZsh/G0rJhDBzmY3frJtqH3Y2CxRbu
         cpuyxtddNp5DX9m6woRg9ADU/YU3hUCxGPK23n3YC+8gQW+08XYHCjEFRW0n0Sbc76OW
         6JXCE/r2P2Q37I7cEaVk+nxNAHfPqkqpwyLSScehTX+xNha6K9HkLzOdtptjApHMoTGx
         ZPgw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:message-id:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=kA02I19urvHyuj53NwNn4h4SBVAMO17NFSLhcBVP9k8=;
        b=GqkrZ6RoICDQf073KmmDtAB6TMIeUYObwTeTlYmaLVazFT+p/kr1Wt7o9BJaXPN5pV
         sRHgZaPOz70D7QqcKwjciQn8i84WeeENHSkSqRDyKKFgEgF8LFtEhmNLsl03p9JIJKdd
         IjkxA3kDGu1izy95tonCsz4puKJLI6vXSXmmuYdtU1uJJA4KvxpwI8DVLE+/Msw8zfFf
         H5Dxg2Avhn1YNpHBlJ7krkAlDyAEnoNADq8HOQ6V87JBGxRLaUlF11QY7UXUSVwhl5C9
         JtQuuYjuLpoQAOTaxkgUWk0Xr4eSzrNx6JbPgS4m2ay+2VjOuBRJ6screSwqW4pOI+cW
         kfNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:message-id:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=kA02I19urvHyuj53NwNn4h4SBVAMO17NFSLhcBVP9k8=;
        b=iDDBB0+oue3ceKxFqMwHnGebc2IqNCts0L5QFxAQLZB4x4+cZyJSHI6k6kvI2gdEVw
         wxAdPpUTcCt5soZUjM4IM33nUjpzgg9FQUbcYaw4e13klfUbSun+3apjfoxm/bNgLnHR
         Ky/n6FTrhXtYdSiH9mFqA79cLZFIMZLWRep1TmNcXdD4RvRSYe6MHBmjsLsakCeVicHF
         wU7Lmso3/2EO9dfdoEBF+D+dnbCZmLVrp0PptcF2UnCguYamxN4gWjeGPFexfE065lOR
         83Yup8bgmDH/kvQvh1KLun6dT06pkEnw+SdF8DublgcHy6AhQq8qR/iHZIdnGou8ITD9
         wHtg==
X-Gm-Message-State: AIkVDXJuxki75oR1qGA4lq5h8+xe3h3ep2UrZpc38om+7B5wq5mfTOQLgdeqaNWXNZYNqA==
X-Received: by 10.36.121.149 with SMTP id z143mr2194020itc.5.1482425118593;
        Thu, 22 Dec 2016 08:45:18 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.11.115 with SMTP id p48ls618559otd.19.gmail; Thu, 22 Dec
 2016 08:45:17 -0800 (PST)
X-Received: by 10.157.43.243 with SMTP id u106mr237441ota.2.1482425117515;
        Thu, 22 Dec 2016 08:45:17 -0800 (PST)
X-Original-Sender: wm2015email@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: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:29989
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/29989>

------=_Part_262_314703510.1482425117101
Content-Type: multipart/alternative; 
	boundary="----=_Part_263_2144381385.1482425117101"

------=_Part_263_2144381385.1482425117101
Content-Type: text/plain; charset=UTF-8

build pretty-print of STL at the language level rather than debugger 
level...

Here's a worthy standard's improvement. adding  a special grammer to C++ 
classes for specifying the pretty-print STL format to the debugger before 
compilation rather than after compilation with the "printers.py gdb 
bandaid".  

That's the real reason STL containers stink.   You can't see anything when 
debugging because the 
"pretty printers" is always broken or misconfigured for your compiler and 
really its only a kludge where there are better ways to solve the 
problem...  such as marking the fields to export to the debugger "pretty 
printer".  if only they would just tag the "char*" buried 3 levels down in 
the container as a "pretty printer" export to the debugger to show 
first...before digging into the ugly details of the data structure.
Like some type of  syntax in the language to self-document how the date in 
the underlying structure of the container should be presented to the 
debugger and that has no real purpose in the code other than documenting.

Crude example:

class mycontainer {
public:
  int junk field1;
  int junk field2;   
  string    fields3;
  objx      obj3[10];

pretty_printers:
   char* field3 : obj3[3]->obj4.mychar;  
   char* field1 : obj3[1]->obj4->obj3423->mychar;  
}


debugger watch window:
   mycontainer   char* x.field3 
   mycontainer   char* x.field1
    <click to expand full ugliness>

-- 
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.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6d1ca157-7bcf-4426-9493-405dcdb9e031%40isocpp.org.

------=_Part_263_2144381385.1482425117101
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">build pretty-print of STL at the language level rather tha=
n debugger level...<br><br>Here&#39;s a worthy standard&#39;s improvement. =
adding=C2=A0 a special grammer to C++ classes for specifying the pretty-pri=
nt STL format to the debugger before compilation rather than after compilat=
ion with the &quot;printers.py gdb bandaid&quot;.=C2=A0 <br><br>That&#39;s =
the real reason STL containers stink. =C2=A0 You can&#39;t see anything whe=
n debugging because the <br>&quot;pretty printers&quot; is always broken or=
 misconfigured for your compiler and really its only a kludge where there a=
re better ways to solve the problem...=C2=A0 such as marking the fields to =
export to the debugger &quot;pretty printer&quot;.=C2=A0 if only they would=
 just tag the &quot;char*&quot; buried 3 levels down in the container as a =
&quot;pretty printer&quot; export to the debugger to show first...before di=
gging into the ugly details of the data structure.<br>Like some type of=C2=
=A0 syntax in the language to self-document how the date in the underlying =
structure of the container should be presented to the debugger and that has=
 no real purpose in the code other than documenting.<br><br>Crude example:<=
br><br>class mycontainer {<br>public:<br>=C2=A0 int junk field1;<br>=C2=A0 =
int junk field2;=C2=A0=C2=A0 <br>=C2=A0 string=C2=A0=C2=A0=C2=A0 fields3;<b=
r>=C2=A0 objx=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 obj3[10];<br><br>pretty_printer=
s:<br>=C2=A0=C2=A0 char* field3 : obj3[3]-&gt;obj4.mychar;=C2=A0 <br>=C2=A0=
=C2=A0 char* field1 : obj3[1]-&gt;obj4-&gt;obj3423-&gt;mychar;=C2=A0 <br>}<=
br><br><br>debugger watch window:<br>=C2=A0=C2=A0 mycontainer=C2=A0=C2=A0 c=
har* x.field3 <br>=C2=A0=C2=A0 mycontainer=C2=A0=C2=A0 char* x.field1<br>=
=C2=A0=C2=A0=C2=A0 &lt;click to expand full ugliness&gt;</div>

<p></p>

-- <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+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/6d1ca157-7bcf-4426-9493-405dcdb9e031%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/6d1ca157-7bcf-4426-9493-405dcdb9e031=
%40isocpp.org</a>.<br />

------=_Part_263_2144381385.1482425117101--

------=_Part_262_314703510.1482425117101--

.
