Add make_array to folly
authorMark Isaacson <markisaa@fb.com>
Tue, 19 Apr 2016 07:46:56 +0000 (00:46 -0700)
committerFacebook Github Bot 1 <facebook-github-bot-1-bot@fb.com>
Tue, 19 Apr 2016 07:50:21 +0000 (00:50 -0700)
commit1fb83fbce666105e62cbfb36851f6886f064ada4
tree2c24429875efb9f70136bd616f620283e7fa1e13
parent35a8cc207284214b981d289469b83c83780c9f54
Add make_array to folly

Summary: This function is being proposed in WG21, the C++ standards body for inclusion in the STL via the Library Fundamentals v2 TS. Using the normal constructor for a std::array with an initializer list introduces a source of coupling between the # of elements you put in the initializer list and the size of the array you specify as a template argument. Worse still, if you put less things in the initializer list than the template argument specifies, it doesn't warn you that you've probably made a pretty devious and subtle error. With this function your array size will always be the same as the # of things you actually put in it. What's more, in some cases this can deduce the type of the elements as well.

Reviewed By: yfeldblum

Differential Revision: D3164432

fb-gh-sync-id: beceaae2ee01cd5f93dec86cf36efdb78a28b4a3
fbshipit-source-id: beceaae2ee01cd5f93dec86cf36efdb78a28b4a3
folly/Array.h [new file with mode: 0644]
folly/Makefile.am
folly/Traits.h
folly/test/ArrayTest.cpp [new file with mode: 0644]
folly/test/Makefile.am
folly/test/TraitsTest.cpp