• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MikkelSchubert / adapterremoval / #117

25 May 2025 03:01PM UTC coverage: 66.932% (-0.07%) from 67.006%
#117

push

travis-ci

web-flow
iwyu and reduce build-time inter-dependencies (#144)

26 of 145 new or added lines in 20 files covered. (17.93%)

89 existing lines in 5 files now uncovered.

9738 of 14549 relevant lines covered (66.93%)

3041.19 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/linereader_joined.cpp
1
// SPDX-License-Identifier: GPL-3.0-or-later
2
// SPDX-FileCopyrightText: 2015 Mikkel Schubert <mikkelsch@gmail.com>
3
#include "linereader_joined.hpp"
4
#include <memory> // for make_unique
5
#include <vector> // for vector
6

7
namespace adapterremoval {
8

NEW
9
joined_line_readers::joined_line_readers(
×
NEW
10
  const std::vector<std::string>& filenames)
×
UNCOV
11
  : m_filenames(filenames.rbegin(), filenames.rend())
×
12
{
13
}
14

15
bool
16
joined_line_readers::getline(std::string& dst)
×
17
{
18
  while (true) {
×
19
    if (m_reader && m_reader->getline(dst)) {
×
20
      m_current_line++;
×
21
      return true;
×
22
    } else if (!open_next_file()) {
×
23
      return false;
24
    }
25
  }
26
}
27

28
bool
29
joined_line_readers::open_next_file()
×
30
{
31
  if (m_filenames.empty()) {
×
32
    m_reader.reset();
×
33
    return false;
×
34
  }
35

36
  m_reader = std::make_unique<line_reader>(m_filenames.back());
×
37
  m_filename = m_filenames.back();
×
38
  m_current_line = 1;
×
39

40
  m_filenames.pop_back();
×
41

42
  return true;
×
43
}
44

45
} // namespace adapterremoval
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc