Detect and use std::is_trivially_copyable<T> where possible.
authorPeter Griess <pgriess@fb.com>
Thu, 10 Oct 2013 17:12:00 +0000 (10:12 -0700)
committerSara Golemon <sgolemon@fb.com>
Thu, 24 Oct 2013 21:53:41 +0000 (14:53 -0700)
commitbaab37435b9b210d9f2068e8a85e7a23d6a518f5
tree7322541b8ebb4b58123d051f1bc88551fc3405ce
parent60f2c87ddcc00799c9b0a4d42c8d56a259298e54
Detect and use std::is_trivially_copyable<T> where possible.

Summary:
- Sadly, boost::has_trivial_copy<T> is not a suitable replacement for
std::is_trivially_copyable<T> on libc++. Fortunately, the latter is
actually supported (and works), so use it directly.

Test Plan:
- fbconfig -r folly && fbmake runtests
- ./configure && make check on Ubuntu/FC/Mac

Reviewed By: delong.j@fb.com

FB internal diff: D1008921
folly/Portability.h
folly/configure.ac
folly/small_vector.h
folly/test/small_vector_test.cpp
folly/test/stl_tests/OFBVector.h