11 STORM_LOG_ASSERT(!stringMapping.has_value() || std::ranges::size(stringMapping.value()) > 0,
"stringMapping CSR must not be empty.");
12 STORM_LOG_ASSERT(stringMapping.has_value() == strings.has_value(),
"stringMapping must be present iff strings is present.");
13 auto const numEntries = stringMapping.has_value() ? std::ranges::size(stringMapping.value()) - 1 : 0;
14 return std::ranges::iota_view(0ull, numEntries) |
15 std::ranges::views::transform([stringPtr = strings.has_value() ? strings.value().data() :
nullptr, &stringMapping](
auto i) -> std::string_view {
17 STORM_LOG_ASSERT(stringPtr != nullptr,
"Expected strings to be present if there are entries in the string mapping.");
18 return std::string_view(stringPtr + stringMapping.value()[i], stringMapping.value()[i + 1] - stringMapping.value()[i]);