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

xlnt-community / xlnt / aa719a12-330c-47b2-9460-5b2d61336ff6

03 Feb 2025 05:39PM UTC coverage: 81.978% (-1.5%) from 83.482%
aa719a12-330c-47b2-9460-5b2d61336ff6

push

circleci

web-flow
Use C++23 for generating coverage report. (#57)

Using C++23 for coverage reporting, prepares the library for coverage
testing of future post-C++11 features.

This PR makes as few changes as possible to ensure all coverage changes
are due to the changed C++/compiler version used for generating the
coverage report.

Temporarily disable warnings as errors for coverage reporting until
better C++20/23 support is added in PR #55.

11395 of 13900 relevant lines covered (81.98%)

1202684.1 hits per line

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

93.33
./source/detail/utils/string_helpers.cpp
1
// Copyright (c) 2024-2025 xlnt-community
2
//
3
// Permission is hereby granted, free of charge, to any person obtaining a copy
4
// of this software and associated documentation files (the "Software"), to deal
5
// in the Software without restriction, including without limitation the rights
6
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
// copies of the Software, and to permit persons to whom the Software is
8
// furnished to do so, subject to the following conditions:
9
//
10
// The above copyright notice and this permission notice shall be included in
11
// all copies or substantial portions of the Software.
12
//
13
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
// THE SOFTWARE
20
//
21
// @license: http://www.opensource.org/licenses/mit-license.php
22
// @author: see AUTHORS file
23

24
#include "string_helpers.hpp"
25

26
namespace xlnt {
27
namespace detail {
28

29
std::vector<std::string> split_string(const std::string &string, char delim)
95✔
30
{
31
    std::vector<std::string> split;
95✔
32

33
    if (string.empty())
95✔
34
        return split;
1✔
35

36
    std::string::size_type previous_index = 0;
94✔
37
    auto separator_index = string.find(delim);
94✔
38

39
    while (separator_index != std::string::npos)
106✔
40
    {
41
        auto part = string.substr(previous_index, separator_index - previous_index);
12✔
42
        split.push_back(part);
12✔
43

44
        previous_index = separator_index + 1;
12✔
45
        separator_index = string.find(delim, previous_index);
12✔
46
    }
12✔
47

48
    split.push_back(string.substr(previous_index));
94✔
49

50
    return split;
94✔
51
}
×
52

53
} // namespace detail
54
} // namespace xlnt
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

© 2026 Coveralls, Inc