I was reading the code in folly::Optional for copy assignment and I am not clear how exactly the call to construct() assigns a value to the optional. Specifically in construct() how does this expression work?
new (const_cast<void*>(ptr)) Value(std::forward<Args>(args)...);