Go to the documentation of this file.
16 #ifndef GRAPHSCOPE_UTILS_STRING_VIEW_VECTOR_H_
17 #define GRAPHSCOPE_UTILS_STRING_VIEW_VECTOR_H_
22 #include <string_view>
33 size_t old_size =
buffer_.size();
34 buffer_.resize(old_size + val.size());
35 memcpy(&
buffer_[old_size], val.data(), val.size());
40 size_t old_size =
buffer_.size();
41 buffer_.resize(old_size + val.size());
42 memcpy(&
buffer_[old_size], val.data(), val.size());
53 size_t len =
offsets_[index + 1] - from;
54 return std::string_view(&
buffer_[from], len);
83 #endif // GRAPHSCOPE_UTILS_STRING_VIEW_VECTOR_H_
void emplace_back(const std::string_view &val)
Definition: string_view_vector.h:39
size_t size() const
Definition: string_view_vector.h:46
std::vector< char > buffer_
Definition: string_view_vector.h:77
~StringViewVector()
Definition: string_view_vector.h:30
const std::vector< size_t > & offset_buffer() const
Definition: string_view_vector.h:63
StringViewVector()
Definition: string_view_vector.h:29
Definition: adj_list.h:23
Definition: string_view_vector.h:27
const std::vector< char > & content_buffer() const
Definition: string_view_vector.h:59
void clear()
Definition: string_view_vector.h:65
void push_back(const std::string_view &val)
Definition: string_view_vector.h:32
std::vector< char > & content_buffer()
Definition: string_view_vector.h:57
std::vector< size_t > offsets_
Definition: string_view_vector.h:78
std::vector< size_t > & offset_buffer()
Definition: string_view_vector.h:61
void swap(StringViewVector &rhs)
Definition: string_view_vector.h:71
std::string_view operator[](size_t index) const
Definition: string_view_vector.h:51