kwiberg d040480f69 rtc::Optional<T>: Don't secretly contain a default-constructed T when empty
Instead, use a neat trick with union to ensure that we have a T only
when we're supposed to (and just a bunch of unused memory otherwise).
This is how std::optional behaves, so it makes sense for us to do the
same (and it's convenient, too, since we don't have to pay for the
default-constructed T, and we support types that don't have default
constructors).

Doing this became possible recently when we dropped support for MSVC
2013, which didn't support unions containing non-trivial types.

Review-Url: https://codereview.webrtc.org/1896833004
Cr-Commit-Position: refs/heads/master@{#12664}
2016-05-09 13:06:10 +00:00
..
2016-05-06 18:19:54 +00:00
2015-11-16 19:02:02 +00:00
2016-04-18 18:13:17 +00:00
2016-04-27 08:54:27 +00:00

Name: WebRTC
URL: http://www.webrtc.org
Version: 90
License: BSD
License File: LICENSE

Description:
WebRTC provides real time voice and video processing
functionality to enable the implementation of 
PeerConnection/MediaStream.

Third party code used in this project is described 
in the file LICENSE_THIRD_PARTY.