220 28221 <aeffe555-c173-4a85-bbc8-b72ff6c3a333@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nicol Bolas <jmckesson@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Filesystem Library and Standardized Paths
Date: Sun, 11 Sep 2016 08:32:18 -0700 (PDT)
Lines: 116
Approved: news@gmane.org
Message-ID: <aeffe555-c173-4a85-bbc8-b72ff6c3a333@isocpp.org>
References: <316e66e9-764b-40da-bffc-e0ce2ed75ddd@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_201_1271806046.1473607938485"
X-Trace: blaine.gmane.org 1473607958 19922 195.159.176.226 (11 Sep 2016 15:32:38 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 11 Sep 2016 15:32:38 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCEKFTV6ZUMBBA7S2W7AKGQEQ2E3QIY@isocpp.org Sun Sep 11 17:32:34 2016
Return-path: <std-proposals+bncBCEKFTV6ZUMBBA7S2W7AKGQEQ2E3QIY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pf0-f198.google.com ([209.85.192.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCEKFTV6ZUMBBA7S2W7AKGQEQ2E3QIY@isocpp.org>)
	id 1bj6k1-0003Qk-No
	for gclcip-std-proposals@m.gmane.org; Sun, 11 Sep 2016 17:32:21 +0200
Original-Received: by mail-pf0-f198.google.com with SMTP id x24sf303709045pfa.0
        for <gclcip-std-proposals@m.gmane.org>; Sun, 11 Sep 2016 08:32:23 -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
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=aLZbKIE2SHJcelZtmkM71dBh8xkd/1bCuXOshyQcSWg=;
        b=f3hIi8j2oHmx6DTcf7nxwRbX+6wyQOlKfpczTSBRPVI/UjASiumlmTqwpAHy2XLeiU
         OBBp5FP5AaukubcmcxyLYR3DG1X7bOa1mnReELI8M9F6gOpnoSHELYpr2ruq2edhoNLc
         gwjxdtDdCvuGReldn/LxkLRMZ1xtYysltwZp6LmlaCNXzJ+l43QoQ8AaKFTakRYSkT2A
         /+JH1fsJ6AqLBuxT+4d22D+AqWWWHcIheVNDBCU9JKY+cfWhzyOOOWuqLaT+LXvc5ARZ
         Ga42X0pSGCXCAIGNF7zIyBfNbSZ3259oBPkXx4CjFTXEyTRLexyUZEMHzvs+nJvHdq2G
         848Q==
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
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=aLZbKIE2SHJcelZtmkM71dBh8xkd/1bCuXOshyQcSWg=;
        b=HXyFrw9ObAt/+f2UXFKqjmovV5RtzIo6B+3F4IHLUUjlcVqum8mFH8ZwRtcKEHDcsG
         sL/TGcUJ7yZZHTAkzXjHQWcSxl2VKNcMX1KHz59CJsIVQH4ZAnfsxn4HDiutbdq8P5Sn
         2t7bEq4QwMURKoqozW5XmqrZPTFJWpWw8ACOyT6dxe+9aRoncEmDVxagBQMmlFSXgxOT
         wCz9X2UO3Bo5euaYMABI0EJO640VUWWnf1xz+JYXCQogoDnNyYxoGjCl48mXRbkzG7qw
         UZTpMD9c70SchD0mTAyG5mmNf8EYjQMXjhuxxoHAl0KniLNX6TUP1SpFF759mtR7tbtW
         JXrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        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=aLZbKIE2SHJcelZtmkM71dBh8xkd/1bCuXOshyQcSWg=;
        b=e3TIjbe8Eb6JmkQzMoXvurIYCE9JJ6pYmqR2rGg7BCAlpGpnimGFnjGuTxmO+VRS89
         dHvPfjPybiiQaIj4ki8aRrSJ4bkuzDpyLLpxpNtp2UBwzmSSlkEt0D92yYRWwwgOKUVs
         tRBrz4LxF3xMS1PlvTw7zX06iTBJfhhhlj5UeSxGCqIljlpZ2B9LXgvhlsYKkHlASfwk
         TYoIrNEeSBpIItjTjlaWMg9e7gSzNIbKF/nBmGS4j4GESsttGQI4/Cejg9+yNnShpafc
         +Jaxj1XZSMmZFyOP5ddpz9/J2fl47g7tMo6ooZFjm+BNAcTXTZQGwv+TxXdPJudtcWdb
         go3w==
X-Gm-Message-State: AE9vXwNIAYt8Oj1/5HrP2av9mqzw/yNaUKzZpoJKo3C/g44zYQsGcdKhomqaLO/m/iPt/w==
X-Received: by 10.67.7.4 with SMTP id cy4mr11973204pad.30.1473607942799;
        Sun, 11 Sep 2016 08:32:22 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.127.88 with SMTP id r85ls2606336itc.0.canary; Sun, 11 Sep
 2016 08:32:19 -0700 (PDT)
X-Received: by 10.36.127.195 with SMTP id r186mr192704itc.0.1473607939756;
        Sun, 11 Sep 2016 08:32:19 -0700 (PDT)
In-Reply-To: <316e66e9-764b-40da-bffc-e0ce2ed75ddd@isocpp.org>
X-Original-Sender: jmckesson@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:28221
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28221>

------=_Part_201_1271806046.1473607938485
Content-Type: multipart/alternative; 
	boundary="----=_Part_202_2067860669.1473607938485"

------=_Part_202_2067860669.1473607938485
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sunday, September 11, 2016 at 11:19:35 AM UTC-4, Jens =C3=85kerblom wrot=
e:
>
> Hello there,
>
> I've been looking through the proposed C++17 Filesystem library and=20
> thought it would be a nice add-on to have common paths. The only path I s=
ee=20
> that is already present is the *std::filesystem::temp_directory_path*.=20
> The directories of interest (as I see) would be
>
>    - *executable_directory_path*, *installed_directory_path* or maybe a=
=20
>    better name, *bundle_directory_path*, directory where the executable=
=20
>    is being run / has been installed. Assumed to be read-only.
>   =20
> This should not just be a directory path; it should include the name of=
=20
the executable as well. If you want the directory, just clip off the=20
executable. While `argv[0]` works on some platforms, it doesn't work on=20
UTF-16 platforms. This would give us a standard way to get at the=20
executable file path.

>
>    -=20
>    - *userdata_directory_path*, directory where current user stores data,=
=20
>    "My Documents" on Windows for example. Assume permission required to w=
rite=20
>    and read.
>    - *cache_directory_path*, directory to data that persists longer than=
=20
>    in *temp_diretory_path*, can be removed by OS if deemed necessary.=20
>    "Library/Cache" on iOS for example. Assume write and read permission.
>    - *appdata_directory_path*, directory where the application can store=
=20
>    persistent data not to be shared with other application.=20
>    "/data/data/<package_name>" on Android for example. Assume write and r=
ead=20
>    permissions.
>   =20
> I don't like `temp_directory_path` as is, so I don't want to see a=20
proliferation of similar platform-specific directories.

--=20
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 e=
mail 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/aeffe555-c173-4a85-bbc8-b72ff6c3a333%40isocpp.or=
g.

------=_Part_202_2067860669.1473607938485
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Sunday, September 11, 2016 at 11:19:35 AM UTC-4, Jens =
=C3=85kerblom wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;ma=
rgin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=
=3D"ltr">Hello there,<br><br>I&#39;ve been looking through the proposed C++=
17 Filesystem library and thought it would be a nice add-on to have common =
paths. The only path I see that is already present is the <b>std::filesyste=
m::temp_<wbr>directory_path</b>. The directories of interest (as I see) wou=
ld be<br><ul><li><b>executable_directory_path</b>, <b>installed_directory_p=
ath</b> or maybe a better name, <b>bundle_directory_path</b>, directory whe=
re the executable is being run / has been installed. Assumed to be read-onl=
y.<br></li></ul></div></blockquote><div>This should not just be a directory=
 path; it should include the name of the executable as well. If you want th=
e directory, just clip off the executable. While `argv[0]` works on some pl=
atforms, it doesn&#39;t work on UTF-16 platforms. This would give us a stan=
dard way to get at the executable file path.<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc so=
lid;padding-left: 1ex;"><div dir=3D"ltr"><ul><li><br></li><li><b>userdata_d=
irectory_path</b>, directory where current user stores data, &quot;My Docum=
ents&quot; on Windows for example. Assume permission required to write and =
read.</li><li><b>cache_directory_path</b>, directory to data that persists =
longer than in <b>temp_diretory_path</b>, can be removed by OS if deemed ne=
cessary. &quot;Library/Cache&quot; on iOS for example. Assume write and rea=
d permission.<br></li><li><b>appdata_directory_path</b>, directory where th=
e application can store persistent data not to be shared with other applica=
tion. &quot;/data/data/&lt;package_name&gt;&quot; on Android for example. A=
ssume write and read permissions.<br></li></ul></div></blockquote><div>I do=
n&#39;t like `temp_directory_path` as is, so I don&#39;t want to see a prol=
iferation of similar platform-specific directories.</div><br></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/aeffe555-c173-4a85-bbc8-b72ff6c3a333%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/aeffe555-c173-4a85-bbc8-b72ff6c3a333=
%40isocpp.org</a>.<br />

------=_Part_202_2067860669.1473607938485--

------=_Part_201_1271806046.1473607938485--

.
