Get *=default*ed default constructors
authorPraveen Kumar <cpp.fool@gmail.com>
Fri, 12 Jun 2015 21:44:21 +0000 (14:44 -0700)
committerSara Golemon <sgolemon@fb.com>
Fri, 12 Jun 2015 21:54:35 +0000 (14:54 -0700)
commit0efcd8c8283cdfc57d83594637dcb8b5fec09288
tree1adc605a3451348792a02f42329fa99a55d5a450
parentaf7afa42b2bf703a9dc9642a4fe8bb350da3bc87
Get *=default*ed default constructors

Summary: Defaulted (*=default*ed) default constructors are better
because they can be constexpr and/or noexcept when C++ Standard
thinks it is right to do so. And they remain user-declared rather
than user-provided. Regarding *=default*ed default constructor,
benifit is that the work might be done during compilation and we
might not need to worry about exception paths. And for destructors,
apart from that that =defaulted definition is in sync with defaulted
default constructor we might discover that in some cases "() {}" might
be ill-formed when "= default;" compiltion indicates so. If =defaulted
definition for destructor doesn't do any harm then why not go for it.

Closes #216

Reviewed By: @yfeldblum

Differential Revision: D2145322

Pulled By: @sgolemon
53 files changed:
folly/Arena.h
folly/AtomicHashArray.h
folly/AtomicHashMap.h
folly/ExceptionWrapper.h
folly/GroupVarint.h
folly/MPMCPipeline.h
folly/MemoryMapping.h
folly/Singleton.h
folly/SmallLocks.h
folly/SocketAddress.h
folly/Subprocess.h
folly/ThreadLocal.h
folly/dynamic.cpp
folly/experimental/JSONSchema.cpp
folly/experimental/StringKeyedUnorderedMap.h
folly/gen/Base-inl.h
folly/gen/Combine-inl.h
folly/gen/Core-inl.h
folly/gen/Parallel-inl.h
folly/gen/ParallelMap-inl.h
folly/io/async/AsyncSSLSocket.h
folly/io/async/AsyncServerSocket.h
folly/io/async/AsyncSocket.cpp
folly/io/async/AsyncSocket.h
folly/io/async/AsyncTransport.h
folly/io/async/AsyncUDPServerSocket.h
folly/io/async/AsyncUDPSocket.h
folly/io/async/DelayedDestruction.h
folly/io/async/EventBase.h
folly/io/async/Request.h
folly/io/async/SSLContext.h
folly/io/async/TimeoutManager.h
folly/small_vector.h
folly/wangle/acceptor/ConnectionCounter.h
folly/wangle/acceptor/ConnectionManager.h
folly/wangle/acceptor/LoadShedConfiguration.h
folly/wangle/acceptor/ManagedConnection.h
folly/wangle/bootstrap/ClientBootstrap.h
folly/wangle/bootstrap/ServerBootstrap-inl.h
folly/wangle/bootstrap/ServerBootstrap.h
folly/wangle/channel/Handler.h
folly/wangle/channel/HandlerContext-inl.h
folly/wangle/channel/HandlerContext.h
folly/wangle/channel/Pipeline.h
folly/wangle/concurrent/BlockingQueue.h
folly/wangle/concurrent/IOExecutor.h
folly/wangle/concurrent/ThreadFactory.h
folly/wangle/concurrent/ThreadPoolExecutor.h
folly/wangle/rx/Subscription.h
folly/wangle/service/Service.h
folly/wangle/ssl/SSLCacheProvider.h
folly/wangle/ssl/SSLContextConfig.h
folly/wangle/ssl/SSLContextManager.cpp