MCPcopy Create free account
hub / github.com/catboost/catboost / ReadTo

Method ReadTo

util/stream/buffered.cpp:65–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 }
64
65 inline size_t ReadTo(TString& st, char to) {
66 st.clear();
67
68 TString s_tmp;
69
70 size_t ret = 0;
71
72 while (true) {
73 if (MemInput_.Exhausted()) {
74 const size_t bytesRead = Slave_->Read(Buf(), BufLen());
75
76 if (!bytesRead) {
77 break;
78 }
79
80 MemInput_.Reset(Buf(), bytesRead);
81 }
82
83 const size_t a_len(MemInput_.Avail());
84 size_t s_len = 0;
85 if (st.empty()) {
86 ret += MemInput_.ReadTo(st, to);
87 s_len = st.length();
88 } else {
89 ret += MemInput_.ReadTo(s_tmp, to);
90 s_len = s_tmp.length();
91 st.append(s_tmp);
92 }
93
94 if (s_len != a_len) {
95 break;
96 }
97 }
98
99 return ret;
100 }
101
102 inline void Reset(IInputStream* slave) {
103 Slave_ = slave;

Callers 1

DoReadToMethod · 0.45

Calls 8

clearMethod · 0.45
ExhaustedMethod · 0.45
ReadMethod · 0.45
ResetMethod · 0.45
AvailMethod · 0.45
emptyMethod · 0.45
lengthMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected