ContiguousSpan Closure(const Span &s) { ContiguousSpan result(-1,-1); if (!s.empty()) { result.first = *(s.begin()); result.second = *(s.rbegin()); } return result; }
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()); }