ContiguousSpan Closure(const Span &s)
{
  ContiguousSpan result(-1,-1);
  if (!s.empty()) {
    result.first = *(s.begin());
    result.second = *(s.rbegin());
  }
  return result;
}
Exemple #2
0
void URI::set_uri(
    uri_identifier_code_t id,
    const Span<const uint8_t> &uri_field
)
{
    delete[] _uri;

    if (uri_field.empty()) {
        _uri = NULL;
        _uri_size = 0;
        return;
    }

    _uri = new uint8_t[uri_id_code_size + uri_field.size()];
    _uri_size = uri_id_code_size + uri_field.size();
    _uri[uri_id_index] = id;
    memcpy(_uri + uri_field_index, uri_field.data(), uri_field.size());
}