MCPcopy Create free account
hub / github.com/diasurgical/DevilutionX / Read

Method Read

Source/dvlnet/frame_queue.cpp:24–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24buffer_t frame_queue::Read(framesize_t s)
25{
26 if (current_size < s)
27 FRAME_QUEUE_ERROR;
28 buffer_t ret;
29 while (s > 0 && s >= buffer_deque.front().size()) {
30 s -= buffer_deque.front().size();
31 current_size -= buffer_deque.front().size();
32 ret.insert(ret.end(),
33 buffer_deque.front().begin(),
34 buffer_deque.front().end());
35 buffer_deque.pop_front();
36 }
37 if (s > 0) {
38 ret.insert(ret.end(),
39 buffer_deque.front().begin(),
40 buffer_deque.front().begin() + s);
41 buffer_deque.front().erase(buffer_deque.front().begin(),
42 buffer_deque.front().begin() + s);
43 current_size -= s;
44 }
45 return ret;
46}
47
48void frame_queue::Write(buffer_t buf)
49{

Callers 2

MpqWriterMethod · 0.45
ReadMPQHeaderMethod · 0.45

Calls 5

sizeMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected