| 14 | #include <vector> |
| 15 | |
| 16 | FUZZ_TARGET(span) |
| 17 | { |
| 18 | FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); |
| 19 | |
| 20 | std::string str = fuzzed_data_provider.ConsumeBytesAsString(32); |
| 21 | const Span<const char> span{str}; |
| 22 | (void)span.data(); |
| 23 | (void)span.begin(); |
| 24 | (void)span.end(); |
| 25 | if (span.size() > 0) { |
| 26 | const std::ptrdiff_t idx = fuzzed_data_provider.ConsumeIntegralInRange<std::ptrdiff_t>(0U, span.size() - 1U); |
| 27 | (void)span.first(idx); |
| 28 | (void)span.last(idx); |
| 29 | (void)span.subspan(idx); |
| 30 | (void)span.subspan(idx, span.size() - idx); |
| 31 | (void)span[idx]; |
| 32 | } |
| 33 | |
| 34 | std::string another_str = fuzzed_data_provider.ConsumeBytesAsString(32); |
| 35 | const Span<const char> another_span{another_str}; |
| 36 | assert((span <= another_span) != (span > another_span)); |
| 37 | assert((span == another_span) != (span != another_span)); |
| 38 | assert((span >= another_span) != (span < another_span)); |
| 39 | } |
nothing calls this directly
no test coverage detected