Remove <glog/logging.h> from folly/Indestructible.h
authorYedidya Feldblum <yfeldblum@fb.com>
Sat, 7 Jan 2017 06:40:09 +0000 (22:40 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Sat, 7 Jan 2017 06:47:56 +0000 (22:47 -0800)
commit8f22c4e3ae765fa8b631c07ffa90dc4ba1aff279
tree1ada64c77b4b431379e9db107cc46818ad4eae17
parente39748150f912c52987d65a6636f75506c873e35
Remove <glog/logging.h> from folly/Indestructible.h

Summary:
[Folly] Remove `<glog/logging.h>` from `folly/Indestructible.h`.

This makes the header much lighter. And abort on invalid access (the use-case for `glog`) only in `!defined(NDEBUG)` mode.

Anti-Pattern Combined Mega-Diff Description:
* Add non-`explicit` default ctor.
* Disable ctor explicitly when underlying ctor would fail to compile. Not sure how useful it would be, but it makes type-traits work correctly for whatever that is worth.
* Switch boolean flag to `erased_{false}` so that it is zero-initializable, because that's better.

Reviewed By: ericniebler

Differential Revision: D4380469

fbshipit-source-id: a39cb7470f7ee678fa722778da587409f468d985
folly/Indestructible.h
folly/Makefile.am
folly/test/IndestructibleTest.cpp