UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
gui
QT
util
line_buffer.cpp
Go to the documentation of this file.
1
#include <cassert>
2
#include "
line_buffer.hpp
"
3
4
void
LineBuffer::write
(std::string_view str){
5
reduceBuf
();
6
7
buf
+= str;
8
9
if
(!
hasLine
()){
10
pop
();
11
}
12
}
13
14
void
LineBuffer::pop
(){
15
startIdx
=
endIdx
;
16
auto
idx =
buf
.find(
'\n'
,
endIdx
);
17
if
(idx !=
buf
.npos){
18
endIdx
= idx + 1;
19
}
20
}
21
22
void
LineBuffer::reduceBuf
(){
23
assert(
startIdx
<=
endIdx
);
24
buf
.erase(0,
startIdx
);
25
endIdx
=
endIdx
-
startIdx
;
26
startIdx
= 0;
27
}
LineBuffer::endIdx
size_t endIdx
Definition
line_buffer.hpp:25
LineBuffer::hasLine
bool hasLine() const
Definition
line_buffer.hpp:11
LineBuffer::write
void write(std::string_view str)
Definition
line_buffer.cpp:4
LineBuffer::buf
std::string buf
Definition
line_buffer.hpp:23
LineBuffer::pop
void pop()
Definition
line_buffer.cpp:14
LineBuffer::startIdx
size_t startIdx
Definition
line_buffer.hpp:24
LineBuffer::reduceBuf
void reduceBuf()
Definition
line_buffer.cpp:22
line_buffer.hpp
Generated on Wed Sep 25 2024 14:27:13 for UltraGrid by
1.12.0