27 qWarning() <<
"Index is already rendered, not updating";
36 insertionPoint =
lines.insert(insertionPoint, line);
43 info.
linePos = std::distance(
lines.begin(), insertionPoint);
47 return insertionPoint;
62 auto idxMapIt = std::find_if(
idxInfoMap.begin(),
idxInfoMap.end(), [&] (
const IdxInfoMap_t::value_type& v) {
63 return timestamp <= v.second.timestamp;
69 insertionPoint =
lines.insert(insertionPoint, line);
76 return insertionPoint;
81 auto it = std::find_if(
dateMap.begin(),
dateMap.end(), [&] (DateLineMap_t::value_type v) {
82 return v.second == timestamp;
95 return lines.begin() + infoIt->second.linePos;
101 return std::find(
lines.begin(),
lines.end(), line);
120 auto dateMapIt =
dateMap.find(*it);
122 if (dateMapIt !=
dateMap.end()) {
127 infoIterator =
idxInfoMap.erase(infoIterator);
131 it =
lines.erase(it);
133 if (it >
lines.begin()) {
134 prevIt = std::prev(it);
136 prevIt =
lines.end();
149 return std::next(
lines.begin(), it->second.linePos);
154 auto idx =
static_cast<size_t>(std::distance(
lines.begin(), it));
155 auto equivalentIt = std::find_if(
idxInfoMap.begin(),
idxInfoMap.end(), [&](
const IdxInfoMap_t::value_type& v) {
156 return v.second.linePos >= idx;
171 return v.first < idx;
182 while (it >
lines.begin()) {
183 auto possibleDateIt = it - 1;
184 auto dateIt =
dateMap.find(*possibleDateIt);
189 if (dateIt->second > timestamp) {
201 for (
auto it = inputIt; it !=
idxInfoMap.end(); ++it) {
202 it->second.linePos++;
209 for (
auto it = inputIt; it !=
idxInfoMap.end(); ++it) {
210 it->second.linePos--;
216 return prevIt !=
lines.end() &&