17#include <unordered_map>
40 template <IsCopyable T>
43 Read(data,
sizeof(
T));
53 Read(&temp,
sizeof(uint64_t));
73 while ((
bool)(p[i++]))
92 void Read(std::list<T>* container)
101 container->resize(size);
102 for (
auto& iter : *container)
108 template <
typename T>
109 void Read(std::vector<T>* container)
118 container->resize((
size_t)size);
119 for (
auto& iter : *container)
134 str->resize((
size_t)size);
135 for (
auto& iter : *str)
141 template <
typename K,
typename V>
142 void Read(std::map<K, V>* container)
151 for (
size_t i = 0; i < size; ++i)
157 (*container)[key] = value;
161 template <
typename K,
typename V>
162 void Read(std::unordered_map<K, V>* container)
171 for (
size_t i = 0; i < size; ++i)
177 (*container)[key] = value;
183 bool Read(
void* data,
size_t byte_count);
190 bool LoadFromFile(std::string_view path_name,
bool decompress =
false,
size_t length = 0);
199 return _buf.data() + _head;
constexpr size_t SIZE_STREAM_INPUT_CONTAINER_CHECK
void log_warn0(std::string_view str, DL_SOURCE_LOCATION)