Add a couple of workarounds for Swift on Windows by compnerd · Pull Request #1414 · firebase/firebase-cpp-sdk

@compnerd

The C++ Interop efforts in Swift currently have some limitations.  In
particular, it cannot support trivial types with non-trivial
destructors.  As a workaround, provide a copy constructor which can be
used by the Swift interop while using the regular semantics for all
other cases.

A second issue arises in the handling of futures.  Unfortunately, it is
not currently possible to pass an indirect block parameter which
prevents the construction of a callback.  Workaround this by providing
an inline shim to use a direct parameter (i.e. indirect value through a
pointer) which then allows a callback to be formed.

Both of these items are being tracked upstream but seem to be
potentially sufficient to enable the use of Swift for using the C++ SDK
for desktop scenarios.

jonsimantov

@jonsimantov

jonsimantov

@jonsimantov

jonsimantov

@jonsimantov

@compnerd

@jonsimantov

jonsimantov

@jonsimantov

jonsimantov