| 24 | } |
| 25 | |
| 26 | int main() |
| 27 | { |
| 28 | vk::ArrayWrapper1D<char, 10> awc1( { 'f', 'o', 'o', 'b', 'a', 'h' } ); |
| 29 | std::string s1 = awc1; |
| 30 | release_assert( s1.length() == 6 ); |
| 31 | std::cout << "<" << awc1 << ">" << std::endl; |
| 32 | |
| 33 | // s1 = awc1; // 'operator =' is ambiguous |
| 34 | |
| 35 | std::string foobah = "foobah"; |
| 36 | |
| 37 | vk::ArrayWrapper1D<char, 20> awc2( foobah ); |
| 38 | f( awc2 ); |
| 39 | |
| 40 | vk::ArrayWrapper1D<char, 5> awc3( { 'f', 'o', 'o', 'b', 'a', 'h' } ); |
| 41 | std::string s3 = awc3; |
| 42 | release_assert( s3.length() == 4 ); |
| 43 | std::cout << "<" << s3 << ">" << std::endl; |
| 44 | |
| 45 | vk::ArrayWrapper1D<char, 5> awc4( foobah ); |
| 46 | std::string s4 = awc4; |
| 47 | release_assert( s4.length() == 4 ); |
| 48 | |
| 49 | #if 17 <= VULKAN_HPP_CPP_VERSION || defined( VULKAN_HPP_USE_CXX_MODULE ) |
| 50 | std::cout << std::boolalpha << std::is_convertible_v<vk::ArrayWrapper1D<char, 10>, std::string_view> << std::endl; |
| 51 | |
| 52 | std::string_view sv1 = awc1; |
| 53 | release_assert( sv1.size() == 6 ); |
| 54 | sv1 = awc2; |
| 55 | release_assert( sv1.size() == 6 ); |
| 56 | sv1 = awc3; |
| 57 | release_assert( sv1.size() == 5 ); |
| 58 | |
| 59 | vk::ArrayWrapper1D<char, 8> awc5( sv1 ); |
| 60 | #endif |
| 61 | |
| 62 | release_assert( awc1 == awc2 ); |
| 63 | release_assert( !( awc1 != awc2 ) ); |
| 64 | release_assert( awc1 <= awc2 ); |
| 65 | release_assert( !( awc1 < awc2 ) ); |
| 66 | release_assert( awc1 >= awc2 ); |
| 67 | release_assert( !( awc1 > awc2 ) ); |
| 68 | |
| 69 | release_assert( awc3 == awc4 ); |
| 70 | |
| 71 | release_assert( foobah == awc1 ); |
| 72 | release_assert( !( foobah != awc1 ) ); |
| 73 | release_assert( foobah <= awc1 ); |
| 74 | release_assert( !( foobah < awc1 ) ); |
| 75 | release_assert( foobah >= awc1 ); |
| 76 | release_assert( !( foobah > awc1 ) ); |
| 77 | |
| 78 | release_assert( awc1 == foobah ); |
| 79 | release_assert( !( awc1 != foobah ) ); |
| 80 | release_assert( awc1 <= foobah ); |
| 81 | release_assert( !( awc1 < foobah ) ); |
| 82 | release_assert( awc1 >= foobah ); |
| 83 | release_assert( !( awc1 > foobah ) ); |