#pragma once #include #include using PairInts = std::pair; using PairStrings = std::pair; inline const PairInts &getIntPairPointer() { static PairInts value = { 4, 9 }; return value; } inline PairInts getIntPair() { return { -5, 12 }; } struct StructInPair { int x; int y; }; using PairStructInt = std::pair; inline PairStructInt getPairStructInt(int x) { return { { x * 2, -x}, x }; } struct UnsafeStruct { int *ptr; }; struct __attribute__((swift_attr("import_iterator"))) Iterator {}; using PairUnsafeStructInt = std::pair; using PairIteratorInt = std::pair; struct __attribute__((swift_attr("import_owned"))) HasMethodThatReturnsUnsafePair { PairUnsafeStructInt getUnsafePair() const { return {}; } PairIteratorInt getIteratorPair() const { return {}; } };