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

stillwater-sc / universal / 34764198303
86%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 13 Sep 2026 03:25PM UTC
Jobs 1
Files 657
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Sep 2026 02:58PM UTC coverage: 85.67%. Remained the same
34764198303

push

github

web-flow
refactor(headers): split positional into core / manipulators / iostream (#1334) (#1468)

* refactor(headers): split positional into core / manipulators / iostream (#1334)

First type of Phase 2 group 5c (#1467), the tail.

    core.hpp        47,231 lines / 218 headers / 0 I/O-family
    positional.hpp  73,068 lines / 341 headers / 5 I/O-family  (was 73,061 / 338 / 5)

Zero I/O-family headers is met. Under-45,000 lines is not, by 2,231, and
reporting the number rather than moving the bar: positional's storage is a
blockdigit, and internal/blockdigit/blockdigit.hpp is 45,062 lines on its own
(0 I/O, layered in Phase N). The core is blockdigit plus positional's own ~700.

(Scope is `headers` because `positional` is not in the PR-title allow-list.)

What held the I/O in

- positional_impl.hpp included <iostream> for two std::cerr diagnostics and
  blockdigit's iostream.hpp for one operator<<. The diagnostics are now
  fprintf(stderr, ...), same text; operator<< stays friend-DECLARED in the class
  (it reads the private storage) with <iosfwd>, and its definition moves to the
  new iostream.hpp, which is where blockdigit's text layer now comes in.
- The umbrella included <iostream> and <iomanip> directly; it still does.

to_string() stays in the core: it returns blockdigit's to_string(), which
concatenates.

Self-containment, each found by compiling the header alone:

- attributes.hpp included nothing. positional_range() streams positionals and
  names type_tag, so it now includes the core and BOTH text layers.
- numeric_limits.hpp included nothing; now <limits> and the fwd header. No
  umbrella cycle.
- mathlib.hpp did not include positional at all (7 errors standalone, on main
  too). It now includes the core, and iostream.hpp because sqrt() streams a
  negative argument to std::cerr.
- manipulators.hpp includes core.hpp in place of positional_impl.hpp.

POSITIONAL_ENABLE_LITERALS and POSITIONAL_THROW_ARITHMETIC_EXCEPTION default in
positional_impl.hpp (... (continued)

4 of 4 new or added lines in 2 files covered. (100.0%)

43267 of 50504 relevant lines covered (85.67%)

7163389.48 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34764198303.1 13 Sep 2026 03:24PM UTC 657
85.67
GitHub Action Run
Source Files on build 34764198303
  • Tree
  • List 657
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34764198303
  • 15301470 on github
  • Prev Build on main (#34761513466)
  • Next Build on main (#34764208093)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc