Files
swift-mirror/test/Interop/Cxx/stdlib/Inputs/std-variant.h
Egor Zhdan 46a54bb6df [cxx-interop] Test trivial usage of std::variant from Swift
For now, Swift doesn't provide a way to extract an element out of `std::variant`. This adds a test to check that we still import instantiations of `std::variant` into Swift.

rdar://155050719
2026-01-15 15:55:44 +00:00

17 lines
628 B
C++

#include <string>
#include <variant>
using StdVariantIntOrString = std::variant<int, std::string>;
inline StdVariantIntOrString getStdVariantInt() { return {123}; }
inline StdVariantIntOrString getStdVariantString() { return {"abc"}; }
struct HasDeletedCopyCtor {
int value;
HasDeletedCopyCtor(int value) : value(value) {}
HasDeletedCopyCtor(const HasDeletedCopyCtor &other) = delete;
HasDeletedCopyCtor(HasDeletedCopyCtor &&other) = default;
};
using StdVariantIntOrNonCopyable = std::variant<HasDeletedCopyCtor, int>;
inline StdVariantIntOrNonCopyable getStdVariantNonCopyable() { return HasDeletedCopyCtor(123); }