Hi,
I was exploring the interoperability flexibility which the new direct c++ to swift Interop provide[s]. In the Documentation it[s] mentioned here
QUOTE
C++ structures and classes with a deleted copy constructor are represented as non-copyable Swift types (~Copyable
). If a C++ type has a valid copy constructor, it is still possible to make it non-copyable in Swift by annotating it with a SWIFT_NONCOPYABLE
macro.
UNQUOTE
First of all i am not able to find the Macro is present in which header file, swift provided MACRO[S] are present in "swift/bridging" contains macros like SWIFT_MUTATING, SWIFT_IMMORTAL_REFERENCE etc.
Then I tried to delete the CopyConstructor of a C++ Class in order to see what would happen if i do it manually. But if the copy constructor of my class get[s] deleted then it doesn't get exposed to Swift.
class CppSwiftInteropTest {
public:
CppSwiftInteropTest () {
std::cout << "CppConstructor" << std::endl;
}
CppSwiftInteropTest (const CppSwiftInteropTest & pCppClass) = delete;
...
};
Please share how can i achieve my objective.