220 38064 <2b9bb4cc-2cd9-4d27-a2b5-21692bdb333e@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: jsaintmartin356@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: pseudo constness
Date: Fri, 11 May 2018 08:46:08 -0700 (PDT)
Lines: 146
Approved: news@gmane.org
Message-ID: <2b9bb4cc-2cd9-4d27-a2b5-21692bdb333e@isocpp.org>
References: <f202be10-efb5-4f1a-ab6a-18bf6ac873ee@isocpp.org>
 <CAC+0CCPGJ2J=y3x-2voHCffyXTqsPVwWyyjR99v6R-XgyU1V4w@mail.gmail.com>
 <CAC+0CCPu0dEAb9B=KmpiT8NwYd4xgSBuUWYcTRrui_Xj5K+WFA@mail.gmail.com>
 <CAC+0CCNyfhb7L2dk4N0pyu3d=T7q1L5m+nOU2yG05XXj4dH_vg@mail.gmail.com>
 <1519283315.58210.23.camel@gmail.com> <CAC+0CCNYk37F3bivpoKcLLUvEwi+sJAn2O_DF9cP7ZfjBSjHVg@mail.gmail.com>
 <CAC4OUEa2Zk9Wv4YtqbT0w-sUhMqF2mZu36QhQW7e=r-X2+asjQ@mail.gmail.com>
 <0a7e7e42-aa28-4632-8e66-56b0633755ba@isocpp.org> <ca3be727-ed85-4f73-b7f4-72c45c25c913@isocpp.org>
 <b70bf443-bc3b-41ac-9325-bf2456e555ad@isocpp.org> <d108c82b-b76b-4d04-adf8-665ea444a98e@isocpp.org>
 <27b5c95c-5b44-4089-bb14-b2d1b806093b@isocpp.org> <CAC4OUEY+wHXvW-WaiOiV09t3=hoPCdruR-VPGULNixvuvJdF7A@mail.gmail.com>
 <CAC+0CCPg3HbEktBJu+x0r2A0xw0Eg7cMUS=XSy5guSnr8RfcGA@mail.gmail.com>
 <4b81b3b8-5def-4003-b073-89af676e837a@isocpp.org> <d742b2d7-0e2a-49c8-ade1-7f21199367cc@isocpp.org>
 <34d1dde0-b9fd-4565-8ebe-a1b1936ab96d@isocpp.org> <beabc81c-aac8-4430-9641-4f1749ef69c5@isocpp.org>
 <e08de6c3-e7c2-46a0-a788-24986d9c56b5@isocpp.org> <5262af56-c631-4c62-954c-1a2b90904319@isocpp.org>
 <CAANG=kU_VdB5otAFgcz545X+zamLox+hsP_k=d5MxpOGDc3_Kw@mail.gmail.com>
 <ebc67007-559d-424d-aaeb-e92be7a615d7@isocpp.org> <CAANG=kUYquvFbhyT_zen2Kda1H4R_R8_uMz422zmzEgu=97yrQ@mail.gmail.com>
 <546e86f3-ab4e-4e8c-b163-0059910744cb@isocpp.org> <ffd4c4fd-2896-449a-b157-8c4d8894c9ec@isocpp.org>
 <CAC+0CCNvaGpqL0Y6YzS0mh1=8Jzsuy_b44DJs-BgOyr2bmtd6Q@mail.gmail.com>
 <67e1c1c7-2194-473b-9bfc-de4f6ffbdfd4@isocpp.org> <CAANG=kX-Bqj_qyU0eKMx-5SvNG6BmqyHXxBaehbR3DKbbmqFvQ@mail.gmail.com>
 <5e4668bb-1653-49ef-a1bb-9a74081d1cab@isocpp.org> <CAC+0CCP2PwcsO2Roxr=uOEt_QPYH1ktZQcFgsYTdGWbbq3jHYg@mail.gmail.com>
 <40fc303c-a40e-493d-a62a-2d030e0a4d57@isocpp.org>
 <CAC+0CCOcbM8QKqrHKFvTZZJ0n5gL9WVpJ=-TOC8YnfLCDiRFaw@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_10619_1716645883.1526053568259"
X-Trace: blaine.gmane.org 1526053443 29523 195.159.176.226 (11 May 2018 15:44:03 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 11 May 2018 15:44:03 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBD2KVY7D7YJBBQPV23LQKGQEM3M552Q@isocpp.org Fri May 11 17:43:59 2018
Return-path: <std-proposals+bncBD2KVY7D7YJBBQPV23LQKGQEM3M552Q@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-vk0-f71.google.com ([209.85.213.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBD2KVY7D7YJBBQPV23LQKGQEM3M552Q@isocpp.org>)
	id 1fHAD9-0007YZ-4b
	for gclcip-std-proposals@m.gmane.org; Fri, 11 May 2018 17:43:59 +0200
Original-Received: by mail-vk0-f71.google.com with SMTP id 196-v6sf4132245vko.21
        for <gclcip-std-proposals@m.gmane.org>; Fri, 11 May 2018 08:46:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        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;
        bh=7KsMZCj6Y+CVqXBLfsrFqQRW9pGg75AWDRs4z1no88w=;
        b=VorYNSLggWMz/WMkIDyoATX4Q5/VbTShmxz6Q2pNICPrFSSbrUtLJktr8sfa2bn2OH
         0MYPsdv6uCEPbPd6OxYJMownXMjRkQiGXKS/rpgFuopsXJdFYHX5Rz8wwkMp6TsiAZsD
         ybB1jn5PwOWbW7Zn+3+4sn0kZgjH8h/0MPVvPbHVA/jjNTQnaX6vgtZLJrd4Tk9Ot1Yd
         +miiHa1ekdcswFzwS0CDtzeSQSFxvHhkKfVa+pbaJ66N54eQNAQXRSC+XVdsxB9cmMJs
         HrV7zuiGFNpoCO/DOAI3Oo154thQFUfw+INhJ+D1xbCXGHbBxFud/lWW87EjXqus7dyM
         QEqA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        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;
        bh=7KsMZCj6Y+CVqXBLfsrFqQRW9pGg75AWDRs4z1no88w=;
        b=h7HYoxcinD14IWgjG59IGjWnkoV6p+3hHYkZe2Va3BTGv68CSHpnRnZTOxfl/2sVkL
         rXONwG0eDVJd5KA8YFTg3ceGm3dM24P1Q1P9zk97vGlzlkH9nVn4rixLARkdeX3bm1mj
         kz+X5/772TO2wTbzdAgfJz9sg60v3/ZTH/Dn5pQlky0nHdtFZjNhsGRAPruQ3uJcbFf3
         PktZNq7OUGvktgQDGOD4W4ul9vkUnQPSJVS9zQWdVBjdxAIRGVhLPPchS2jj3Cut7GMb
         H7HHHMCEk4KMXLXp5wgifswdixoacDv4q9pEFm9R3dZ7LMvPLLiNEDLpK36dHiPzb2vn
         hsrw==
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:in-reply-to:references
         :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=7KsMZCj6Y+CVqXBLfsrFqQRW9pGg75AWDRs4z1no88w=;
        b=PMN7mRbdgHIjQxVzwNTApCVpcpsEQHqqCwinVEKCkdCd5781Va6tLPwFeMjXzs4+s6
         BXvWwa/MArFKk7sHIjV/PzMbUdQtw9cEnDvphAn9pf/X3JlGc8smStJfHqYJINR7JJuC
         Ox9i1kjSQW00rPzZKk8+Ug03Nfmumv9qxONanZ2MtV7J4sdx1vh/vfNbeU6mKJblUWI0
         Xde+lSZAvMh3e9iPeV7NaeFrHmdE1AIx4HqbXmRNtXqXWJHvmX4WbTSsQEErGvClNuH1
         q+dw6TqyHH2gHiCS0YOAJzLhNtHkGaF9pBisGhpiWOR6fDkRalTlq0gr2s6+nBi/BbJD
         IsxQ==
X-Gm-Message-State: ALKqPwfL4KGNh1CVFtwElc5IAcghlDcN6c+eO+XJz8yBepEBWfUbWIfv
	xsuB1lPxLw2YSSGcS53uZ5hpUw==
X-Google-Smtp-Source: AB8JxZo75graS1rcknSOEfhsJdThp9bIuw3pLjW37yPno60p9SYFpFOxvzNxCXe8EKZp67fJiWNyTg==
X-Received: by 2002:a1f:b4d2:: with SMTP id d201-v6mr1176263vkf.94.1526053569968;
        Fri, 11 May 2018 08:46:09 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a1f:3f50:: with SMTP id m77-v6ls5446026vka.3.gmail; Fri, 11
 May 2018 08:46:09 -0700 (PDT)
X-Received: by 2002:a1f:3686:: with SMTP id d128-v6mr277762vka.7.1526053568884;
        Fri, 11 May 2018 08:46:08 -0700 (PDT)
In-Reply-To: <CAC+0CCOcbM8QKqrHKFvTZZJ0n5gL9WVpJ=-TOC8YnfLCDiRFaw@mail.gmail.com>
X-Original-Sender: jsaintmartin356@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: 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:38064
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/38064>

------=_Part_10619_1716645883.1526053568259
Content-Type: multipart/alternative; 
	boundary="----=_Part_10620_1998300706.1526053568260"

------=_Part_10620_1998300706.1526053568260
Content-Type: text/plain; charset="UTF-8"



On Tuesday, March 6, 2018 at 8:38:44 PM UTC+1, Jake Arkinstall wrote:
>
> On 6 Mar 2018 19:22, <jsaintm...@gmail.com <javascript:>> wrote:
>
> I don't care about Thread Safe Stuff.
>
>
> You want to submit a proposal to people who do. I recommend you start 
> caring about thread safety.
>

okie : added throw and a mutex

  #include <mutex>

  class Integer {
  public :
    static std::mutex le_mutex;
    Integer (size_t s) throw (): val_ (s)  {}
    ~Integer () {}
    Integer (const Integer& i) throw () : val_ (i.val_)  {}
    Integer& operator = (const Integer& i) throw () {val_ = i.val_; return 
*this;}
    bool operator == (const Integer& i) throw () {return (val_ == 
i.val_?true:false);}
    bool operator != (const Integer& i) throw () {return !operator == (i);}

    void write (std::ostream& os) const throw () {
      os << val_;
    }
    void write_next (std::ostream& os) const throw () {
      le_mutex.lock ();
      me_stat = *this;
      me_stat++;
      me_stat.write (os);
      le_mutex.unlock ();
    }
    Integer& operator ++ (int) throw () {
      val_++;
      return *this;
    }
  private :
    static Integer me_stat;
    size_t val_;
  };

  std::mutex Integer::le_mutex;
  Integer Integer::me_stat (0);


  int main (int argc, char* argv []) {
    Integer i (7);
    std::cout << "i == ";
    i.write (std::cout);
    std::cout << std::endl;
    std::cout << "i next == ";
    i.write_next (std::cout);
    std::cout << std::endl;
    std::cout << "i again == ";
    i.write (std::cout);
    std::cout << std::endl;
  }
 

-- 
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/2b9bb4cc-2cd9-4d27-a2b5-21692bdb333e%40isocpp.org.

------=_Part_10620_1998300706.1526053568260
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Tuesday, March 6, 2018 at 8:38:44 PM UTC+1, Jak=
e Arkinstall wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;mar=
gin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D=
"auto"><div><div><div class=3D"gmail_quote">On 6 Mar 2018 19:22,  &lt;<a hr=
ef=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"uiiPZ77CAwAJ"=
 rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;javascript:&#39;;return t=
rue;" onclick=3D"this.href=3D&#39;javascript:&#39;;return true;">jsaintm...=
@gmail.com</a>&gt; wrote:<br type=3D"attribution"><blockquote style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"=
>I don&#39;t care about Thread Safe Stuff.</div></blockquote></div></div></=
div><div dir=3D"auto"><br></div><div dir=3D"auto">You want to submit a prop=
osal to people who do. I recommend you start caring about thread safety.</d=
iv></div></blockquote><div><br>okie : added throw and a mutex<br><br>=C2=A0=
 #include &lt;mutex&gt;<br><br>=C2=A0 class Integer {<br>=C2=A0 public :<br=
>=C2=A0=C2=A0=C2=A0 static std::mutex le_mutex;<br>=C2=A0=C2=A0=C2=A0 Integ=
er (size_t s) throw (): val_ (s)=C2=A0 {}<br>=C2=A0=C2=A0=C2=A0 ~Integer ()=
 {}<br>=C2=A0=C2=A0=C2=A0 Integer (const Integer&amp; i) throw () : val_ (i=
..val_)=C2=A0 {}<br>=C2=A0=C2=A0=C2=A0 Integer&amp; operator =3D (const Inte=
ger&amp; i) throw () {val_ =3D i.val_; return *this;}<br>=C2=A0=C2=A0=C2=A0=
 bool operator =3D=3D (const Integer&amp; i) throw () {return (val_ =3D=3D =
i.val_?true:false);}<br>=C2=A0=C2=A0=C2=A0 bool operator !=3D (const Intege=
r&amp; i) throw () {return !operator =3D=3D (i);}<br><br>=C2=A0=C2=A0=C2=A0=
 void write (std::ostream&amp; os) const throw () {<br>=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 os &lt;&lt; val_;<br>=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=
=A0 void write_next (std::ostream&amp; os) const throw () {<br>=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 le_mutex.lock ();<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 me_s=
tat =3D *this;<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 me_stat++;<br>=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 me_stat.write (os);<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 le=
_mutex.unlock ();<br>=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 Integer&amp=
; operator ++ (int) throw () {<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 val_++;<br=
>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return *this;<br>=C2=A0=C2=A0=C2=A0 }<br>=
=C2=A0 private :<br>=C2=A0=C2=A0=C2=A0 static Integer me_stat;<br>=C2=A0=C2=
=A0=C2=A0 size_t val_;<br>=C2=A0 };<br><br>=C2=A0 std::mutex Integer::le_mu=
tex;<br>=C2=A0 Integer Integer::me_stat (0);<br><br><br>=C2=A0 int main (in=
t argc, char* argv []) {<br>=C2=A0=C2=A0=C2=A0 Integer i (7);<br>=C2=A0=C2=
=A0=C2=A0 std::cout &lt;&lt; &quot;i =3D=3D &quot;;<br>=C2=A0=C2=A0=C2=A0 i=
..write (std::cout);<br>=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; std::endl;<br>=
=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; &quot;i next =3D=3D &quot;;<br>=C2=A0=
=C2=A0=C2=A0 i.write_next (std::cout);<br>=C2=A0=C2=A0=C2=A0 std::cout &lt;=
&lt; std::endl;<br>=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; &quot;i again =3D=
=3D &quot;;<br>=C2=A0=C2=A0=C2=A0 i.write (std::cout);<br>=C2=A0=C2=A0=C2=
=A0 std::cout &lt;&lt; std::endl;<br>=C2=A0 }<br>=C2=A0<br></div></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/2b9bb4cc-2cd9-4d27-a2b5-21692bdb333e%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/2b9bb4cc-2cd9-4d27-a2b5-21692bdb333e=
%40isocpp.org</a>.<br />

------=_Part_10620_1998300706.1526053568260--

------=_Part_10619_1716645883.1526053568259--

.
