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

xlnt-community / xlnt / b5325487-b953-4fb3-ae7c-12335ef12dcb

02 Feb 2025 07:13PM UTC coverage: 81.7% (-1.8%) from 83.482%
b5325487-b953-4fb3-ae7c-12335ef12dcb

Pull #55

circleci

doomlaur
Fix CI to use the correct Docker image for code coverage tests
Pull Request #55: Add support for C++20 and C++23, and experimental support for C++26

78 of 142 new or added lines in 8 files covered. (54.93%)

304 existing lines in 28 files now uncovered.

11460 of 14027 relevant lines covered (81.7%)

1191795.07 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✔
UNCOV
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