// // Tests for // __unsafe_forge_span functions // #include #include #include #include #define CHECK(...) T_ASSERT_TRUE((__VA_ARGS__), # __VA_ARGS__) struct S { int i; }; template static void tests() { { T * p = new T[10]; std::span span = os::span::__unsafe_forge_span(p, 10); CHECK(span.data() == p && span.size() == 10); delete[] p; } { std::vector v; std::span span = os::span::__unsafe_forge_span(v.begin(), v.end()); CHECK(span.data() == v.data() && span.size() == 0); } } T_DECL(unsafe_forge_span, "cxx_safe_buffers.unsafe_forge_span") { tests(); }