Move <dynarray> into the experimental namespace

Marshall Clow mclow.lists at gmail.com
Wed Nov 13 12:26:05 PST 2013


[ META: This is the second (of two) patches that I want to land that move stuff that didn't make the C++14 standard into "experimental". ]


Along with C++14, the standard committee is working on several "Technical Specifications", designed to bring features that for one reason or another weren't able to be in C++14 to people before the next version of the standard (C++17??).  Those of you who remember TR1 (from about 2005) - this is a similar process under a new name.

There are several being worked on:
	* Library Fundamentals 
	* Arrays of Runtime Bound
	* Networking
	* Concepts
	* Filesystem

This patch takes the implementation of <dynarray> that I wrote and committed into libc++ (before the committee removed the feature from C++14), and moves it into the new "experimental" area, which is where these TSes will live until they are enshrined in a future version of the standard.

That area can be described as:
	namespace std::experimental (feel free to alias this to something shorter in your code)
	files live in the "experimental/" directory.

If you're already using the <dynarray> in libc++, you'll have to change your code to:
	#include <experimental/dynarray>
and use
	std::experimental:: dynarray <T>

It's a good-sized patch, but it's just renaming things; if I actually changed some code, then I did it wrong.

I believe that I have addressed all of Richard's concerns with the <optional> patch here.
	* Versioned inline namespace  "inline namespace __array_extensions_v1"
	* Nothing in std::

[ I will re-submit the optional patch soon. ]

-- Marshall

Marshall Clow     Idio Software   <mailto:mclow.lists at gmail.com>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
        -- Yu Suzuki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dynarray.ts.patch
Type: application/octet-stream
Size: 36944 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131113/dd03d2a6/attachment.obj>


More information about the cfe-commits mailing list